登录 Mysql

mysql -u 用户名 -p

密码

显示数据库

show databases;

使用数据库

use 数据库名;

显示可用表

show tables;

查询其他表

show tables from 其他表名;

查看数据库

select database();

创建表

create table 表名(

字段名 类型,

字段名 类型(长度)

);

查看表结构

desc 表名;

插入数据

insert into 表名(字段名,...,字段名) values (值1,...,值n);

修改表的数据

update 表名 set 字段名=值 where 字段名=值;

删除表中数据

delete from 表名 where 字段名=值;

查看版本信息

select version();

查询常量select 数字;

查询字符串常量select '字符串';

查询表达式select 运算式;

别名select 字段/表达式 as '别名';

select 字段 空格 '别名';

查询时去掉重复的值select distinct 字段 from 表名;

连接两列的值select concat(列名1,...,列名n) from 表名;

查看是否有字段的值为空select ifnull(列名,如果为空应该修改为什么值) from 表名;

查询某一字段的值在某一区间内select distinct concat(列名1,...,列名n) from 表名 where 条件;

模糊查询select 字段 from 表 where 字段 like '值%';% 可以匹配0或多个, _ 可以匹配一个字符

将字符转义,如查询带有_的值select 字段 from 表名 where 字段 like '_\_';

使用 \ 进行转义

转义时,使用自定义符号实现select 字段 from 表名 where 字段 like '_自定义符号_' escape '自定义符号';

将自定义符号后面的进行转义

查询在某一区间内的值select 字段 from 表名 where 字段 between 小的值 and大的值;

取值包括小的值和大的值

查询某一个值是否在该字段中select 字段 from 表名 where 值 in (字段);

查询某一个值是否为 null

select 字段 from 表名 where 字段 is null;select 字段 from 表名 where 字段 is not null;

判断字段的指定值select 字段 from 表名 where 字段 <=>值;<=>安全等于select 字段 from 表名 where 字段 = 值;

对查询的数据进行排序

默认升序 asc

可以添加 where 语句进行判断

查询查看字段的长度select length(字段) 别名 from 表名 order by 别名;

按照多个字段进行排序select * from 表名 order by 字段1 排序方式,字段2 排序方式;

字符函数select length(实参);

查看字符长度

字符变为大写

select upper(值);

字符变为小写select lower(值);

字符拼接select concat(值1,...,值n);

查询字符的某一小段值select substr(值,起始位置,长度);

select substr(值,起始位置);

索引从 1 开始

查询某个值在字符中的第一个索引位置select instr(字符,值);

没有值,则返回 0

查询去掉两边的空格或者其他符号selecttrim(值);

默认去掉空格select trim('符号' from字符);

去掉两边的符号

在左侧填充符号select lpad(字符,总长度,符号);

在右侧填充符号select rpad(字符,总长度,符号);

将字符替换成新的字符select replace(字符,需要替换的字符,新的字符);

数学函数

四舍五入select round(值);

四舍五入到整数select round(值,位);

四舍五入到小数点后几位

向上取整select ceil(值);

向下取整select floor(值);

截断数字,不进行修改数值select truncate(值,位);

数值取模,取余select mod(值1,值2);

日期函数

查询现在时间select now();

查询当前日期select curdate();

查询当前时间,不带有日期select curtime();

查询当前年select year(now());

参数还可以是指定的日期格式select year('年-月-日');

查询当前月份select month(now());

显示月份名字select monthname(now());

字符转换为日期select str_to_date(字符,'时间格式');select str_to_date('年-月-日','%Y-%m-%d');

将日期转换为字符select date_format(日期,时间格式);

其他函数

查看当前数据库select database();

查看当前用户select user();

判断语句select if (条件,条件成立的值,条件不成立的值);

case多分支条件选择select字段,字段,case字段when 值 then表达式

...when 值 then表达式else表达式end

from表名where 条件;

case后不指定字段select字段,case

when 条件 then值

...when 条件 then值else值end as别名from 表名;

分组函数

求和select sum(字段) from 表名;

求平均值select avg(字段) from 表名;

求最大值select max(字段) from 表名;

求最小值select min(字段) from 表名;

求个数select count(字段) from 表名;

将 distinct和 分组函数一起使用select avg(distinct 字段) from 表名;

统计行数,只要有一个字段不为null,就加1select count(*) from 表名;

查看两个日期之间相差的天数select datediff(字符1,字符2);

分组查询select 字段 from表名where条件group by字段order by 字段;

查看字段不为 null的,进行分组select max(字段),字段 from 表名 where 字段 is not null group by 字段;

在使用 group by之后,对分组进行筛选select分组函数(字段),字段from表名where条件group by字段having 分组函数(字段) 条件;

group by 和 having 后支持别名

创建好的两个表如下所示

两个表连接查询select 表1字段,表2字段 from 表1,表2 where 表1.字段 比较符号 表2.字段;

可以对表起别名

from 表名 as 别名

对两个表使用模糊查询

在 where 条件下 加入 like

对两个表使用 分组查询并排序

group by 进行分组

order by 进行排序 默认升序

自连接

设置别名来进行区分,将一张表当做两张表

生成随机数select rand();

MD5 加密select md5(字符);

两个表的连接方式

inner 内连接

left 左外连接

right 右外连接

cross 交叉连接

进行分组筛选

查看连接时存在的空值select 字段1,...,字段2 from 表名1 别名 连接方式 join 表名2 on 条件

where 字段 is null;

查询时应用左外连接,判断是否为空

子查询

any 表示任意一个

all 全部

not in 不在子查询中

=any 效果

子查询中存放两个字段

子查询在 select 后

select 查询后放 select 查询

子查询放在 from 中

子查询放到 exists 后面 , 相关子查询

查看是否具有数据

分页查询select字段from表名 别名

连接方式join表 别名on连接条件where条件group by分组字段having分组筛选order by排序的字段

limit offset,size;

offset 起始索引,从0开始

size 个数

省略 offset

语句顺序select 查询字段 /别名.字段from 表名 as别名

连接类型[inner , left , right] join表名 别名on连接条件where条件group by字段having条件order by条件

limit 起始索引,条数;

联合查询 union

select语句union

select 语句

使用 union all 不去掉查询的结果中的重复项

插入语句insert into 表名(字段) values(值);

空值null

插入时,不指定字段名称

注:顺序要和表中一致

第二种插入方式insert into表名set 字段=值,字段=值;

修改单表记录update 表名 set 字段=值 where 条件;

修改多个字段值

修改多表update表名 别名join表名 别名on连接条件set 字段 =值where 条件;

删除语句delete from 表名 where 条件;

删除语句delete表1别名,表2别名from表1 别名

连接方式join表2 别名on连接条件where 筛选条件;

删除全部信息,不可以加wheretruncate table 表名;

更改数据库的字符集alter database 数据库名 character set 字符集;

删除数据库drop database if exists 数据库名;

创建表create table表名(

字段 字段类型,

字段 字段类型(长度),

字段 字段类型(长度) 约束,

)

显示表结构desc 数据表;

修改表

修改列名alter table 表名 change column 旧列名 新列名 字段类型 ;

修改列的类型alter table 表名 modify column 列名 新类型;

添加列alter table 数据表 add column 字段名 字段类型;

删除列alter table 表名 drop column 列名;

修改表名alter table 表名 rename to 新名称;

删除表drop table 表名;

复制表的结构create table 表名 like 表名;

复制表的结构和数据create table 表名 select * from 表名;

创建带有约束的表primary key主键not null非空check检查输入的值unique唯一default设置默认值

外键: 字段 类型references 表名(字段)

添加表级约束create table表名(

字段 字段类型,

字段 字段类型(最大长度),constraint名称 约束(字段),constraint 名称 foreign key(字段) references表名(字段)

);

添加非空约束alter table 表名 modify column 字段 字段类型 约束 ;

查看 mysql 支持的存储引擎

show engines;

事务的ACID

A 原子性 , C 一致性 , I 隔离性 , D 持久性

事务

开启事务set autocommit = 0;

starttransaction;

编写一组事务语句update account set 字段=值 where条件;

...select,insert,update,delete...update account set 字段=值 where条件;

结束事务

提交commit;

回滚rollback;

查看当前默认的隔离级别,mysql 8 版本select @@transaction_isolation;

设置最低的隔离级别set session transaction isolation level read uncommitted;

设置隔离级别为 读提交set session transaction isolation level read committed;

设置为可重复读set session transaction isolation level repeatable read;

2021-01-07

mysql 10658_数据库mysql语句 - pymysql,sqlite3,MySQLdb,mysql.connector 第三方库常用sql语句...相关推荐

  1. mysql查询语句题目_MySQL经典练习题及答案,常用SQL语句练习50题

    --1.查询"01"课程比"02"课程成绩高的学生的信息及课程分数 select a.* ,b.s_score as 01_score,c.s_score as ...

  2. mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...

    扩展 : SQL语句教程 什么是事务?事务的特性有哪些? 根据binlog恢复指定时间段的数据 mysql字符集调整 使用xtrabackup备份innodb引擎的数据库  innobackupex  ...

  3. mysql用户管理,常用sql语句,mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> mysql用户管理 grant all on . to 'user1' identified by 'passwd'; gra ...

  4. MySQL用户管理、常用sql语句、数据库备份

    13.4 MySQL用户管理 创建用户并授权 指定登录IP [root@centos-01linux ~]# mysql -uroot -p Enter password: Welcome to th ...

  5. 55:Mysql用户管理|常用sql语句|mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> 1.Mysql用户管理: 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限: 语法: g ...

  6. MySQL用户管理、常用SQL语句、MySQL数据库备份恢复

    mysql用户管理 1.创建一个普通用户并授权 [root@gary-tao ~]# mysql -uroot -p'szyino-123' Warning: Using a password on ...

  7. 13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复

    扩展 : SQL语句教程 http://www.runoob.com/sql/sql-tutorial.html 什么是事务?事务的特性有哪些? http://blog.csdn.net/yenang ...

  8. 52次课(mysql用户管理、常用sql语句、 mysql数据库备份恢复)

    MySQL创建用户以及授权 默认用户是root用户,不可能所有人员都用root用户,创建用户防止误删除,因为mysql里边有多个库每个库里有很多表,所以需要给单独的用户做一些授权我只需要它对某一个数据 ...

  9. 13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复

    mysql用户管理 1.创建一个普通用户并授权 [root@gary-tao ~]# mysql -uroot -p'szyino-123' Warning: Using a password on ...

  10. MySQL(用户管理,常用sql语句,数据库备份恢复,MySQL调优,恢复误操作数据)...

    一.MySQL用户管理. 一个MySQL数据库里可以跑多个库,总不能给所有人的程序员root用户,则可以给他们单独的用户访问数据库. 创建用户:(grant all on *.* to 'user1' ...

最新文章

  1. 头条小视频和西瓜视频signature签名算法
  2. 您现在只需免费与相机捆绑即可购买一个PSVR
  3. java面试精典问答
  4. pyecharts第二节、饼图
  5. 上手测试GaussDB(for Redis) 和开源 Redis,只为推荐质优价廉的Redis
  6. 杭电1210 Eddy's 洗牌问题
  7. python中的yield使用详解
  8. python接口自动化(二十)--token登录(详解)
  9. 【毕业答辩】别小看毕业答辩PPT,它和你的论文一样重要
  10. 斯坦福大学深度学习公开课cs231n学习笔记(2)线性分类器及最优化
  11. 企业服务总线 ESB 介绍和用例
  12. c语言实现校园疫情防控系统
  13. vue2使用element UI中Descriptions组件的遍历问题
  14. nodejs实现读取本地目录生成文件树
  15. android统计app使用时间段,GitHub - yaozs/UseTimeStatistic: Android 系统中统计各个app的使用时长以及使用次数...
  16. 什么品牌的蓝牙耳机通话音质最好?通话音质好的蓝牙耳机
  17. 配置静态NAT和配置动态NAT
  18. 小红书api_【实习精选】oppo、小红书等名企实习汇总(96)
  19. android 脚本swipe,移动端滑动插件Swipe教程
  20. ArcGIS教程:填挖方的工作原理

热门文章

  1. Django学习-19-缓存
  2. MarioTCP, take it..
  3. DHCP详细工作过程(转)
  4. perl 脚本学习-----两个文件排序之后输入到一个文件
  5. 运维之Linux秋招重点(根据面经和常见笔试题总结,持续更新)
  6. HDOJ-1002 A + B Problem II C语言
  7. laravel 的用户认证
  8. Pyhton网络爬虫实例_豆瓣电影排行榜_Xpath方法爬取
  9. 求助:使用foreach函数获取到后台数据时未在表格上渲染的问题
  10. 腾讯云与同方全球人寿签署战略合作 “云+保险”合作伙伴队伍再壮大