MySQL常用语法总结

数据库基础语法

各位看官,一定记得点赞哦
基本语法

  1. 查看所有的数据库: show databases;
  2. 建立数据库: create database 数据库名称;
  3. 使用数据库: use 数据库名称;
  4. 建立数据表: create table 数据表名称(
    字段名称1 数据类型(字符长度),
    字段名称2 数据类型(字符长度),
    字段名称3 数据类型(字符长度),
    字段名称4 数据类型(字符长度),
    ……
    );
  5. 查看表结构: desc/describe 表名;
  6. 修改字符编码集: alter database 数据库名称 default character set 编码方式 collate 编码方式_bin;
  7. 修改数据表的名称: alter table 旧表名称 rename to 新表的名称;
  8. 修改数据表的字段名: alter table 数据表名称 change 旧字段名 新字段名 新数据类型(长度);
  9. 修改字段数据类型: alter table 数据表名称 modify 字段名 新数据类型(长度);
  10. 添加字段: alter table 数据表名称 add 字段名称 数据类型(长度);
  11. 删除字段: alter table 数据表名称 drop 字段名称;
  12. 将字段1放在字段2后面: alter table 数据表名称 modify 字段1 数据类型(长度) after 字段2;
  13. 将字段1放在首位: alter table 数据表名称 modify 字段1 数据类型(长度)first;
  14. 删除数据库: drop database 数据库名称;
  15. 删除数据表: drop table 数据表的名称;
  16. 添加全部数据: insert into 表名 values(?,?,?,……);
  17. 添加一部分数据: insert into 表名 (字段1,字段2,字段3……)values(?,?,……);

约束
18. 单字段主键约束: 字段 数据类型(长度) primary key;1
19. 多字段主键约束: primary key(字段1,字段2,……);2
20. 非空约束: 字段名 数据类型(长度) not null;3
21. 唯一性约束: 字段名 数据类型(长度) unique;4
22. 默认约束: 字段名 数据类型(长度) default 默认值;5

设置字段值自动增加
23.设置字段值自动增加: 字段名称 整数数据类型(长度) primary key auto_increment ;6

修改数据
24.更新指定数据
关键字: Where:过滤条件
语法格式: update 表名 set 字段1=值2,字段2=值2…… where 条件表达式;
25. 修改全部数据:
语法格式: update 表名 set 字段1=值2,字段2=值2…… ;

删除语句
26. 删除指定数据: delete from 表名 where 条件表达式;
27. 删除全部数据: delete from 表名 ;7
28. 删除全部数据: truncate table 表名;
29. 删除指定表内的部分数据: delete from 表名 where 字段名 in ( ?,?,?,?……);
30. 删除范围内的数据: delete from 表名 where 字段名 关系运算符 值;

查询数据
31. 查看全部字段数据: select * from 数据表名称;
32. 查看指定字段数据: select 字段1,字段2,…… from 表名;
33. 按条件查询: select * from 表名 where 条件表达式;
34. 按条件查询: select 字段1,字段2,…… from 表名 where 条件表达式;

关键字查询
35. 关键字:in(具体查询)
语法格式: select 字段1,字段2,…… from 表名 where 字段名 in();
36. 关键字:between…and(在…之间查询)
语法格式: select * from 表名 where 字段名 between 值1 and 值2;
37.关键字:is null(空值查询)
语法格式: select * from 表名 where 字段名 is null ;
36. 关键字:is not null(非空值查询)
语法格式: select * from 表名 where 字段名 is not null ;
37. 关键字:distinct(去重查询)
语法格式: select distinct 字段1,字段2…… from 表名;
38. 关键字:like(模糊查询) 8
语法格式: select * from 表名 where 字段名 like “ 字符串”;
39. 关键字:and(满足所有条件才有返回值)
语法格式: select * from 表名 where 条件表达式1 and 条件表达式2 and ……;
40. 关键字:or(满足任意一个条件就有返回值)
语法结构: select * from 表名 where 条件表达式1 or 条件表达式2 or ……;

聚合函数
41.平均值 AVG(),最大值 MAX(),最小值 MIN(),总和 SUM(),总数 COUNT()
语法格式: select AVG(字段名),MAX(字段名) , MIN(字段名),SUM(字段名),COUNT(字段名) from 表名;

对查询结果排序
42. 关键字: order by (正序:ASC 降序:DESC);
select * from 表名 order by 字段名 ASC (或 DESC);9
43. 关键字: group by(分组查询)
select 字段1,字段2 ,…… from 表名 group by 字段1,字段2……;10
44. 关键字:limit (精准查询)
select * from 表名 limit 起始位置 记录数;11
45. 关键字:as(为字段取别名)
select 字段1 as 新字段名,字段2 as 新字段名,字段3 as 新字段名,…… from 表名;

外键约束
43. 添加外键约束
alter table 表名 add constraint 外键名称 foreign key(外键字段名) references 外键表名(主键字段名);
44. 删除外键约束
alter table 表名 drop foreign key 外键名;

连接查询
45. 交叉连接 关键字:cross join
交叉连接返回的结果是被连接的两个表中所有数据行的笛卡尔积(也就是所有行相乘);也就是返回第一个表中符合查询条件的数据行乘以第二个表格中符合查询条件的数据行.
语法结构:
select * from 表1 cross join 表2;
46.内连接: 关键字:inner join
内连接使用比较关系运算符对两个表中的数据进行比较,比列出与连接条件匹配的数据。
语法结构: select 查询字段 from 表1 [inner] join 表2 on 表1.关系字段 = 表2.关系字段;

外连接
47. 左连接: 关键字:left join
返回的结果包括左表中的所有数据和右表中符合连接条件的数据。
语法结构:
select 查询字段 from 表1 left join 表2 on 表1.关系字段 = 表2.关系字段;
48. 右连接: 关键字:right join
返回的结果包括右表中的所有数据和左表中符合连接条件的数据。
语法结构:
select 查询字段 from 表1 right join 表2 on 表1.关系字段 = 表2.关系字段;

如有错误,请及时联系本博主哦
创作不易,如有问题或转载请联系本人哦


  1. 注:主键约束在数据表当中最多只能存在一个。主键约束:primary key 保证数据的唯一性。 ↩︎

  2. 注:是多个字段组合而成的主键,必须多条数据的这些字段都不相同。当为某个字段或多个字段添加了主键约束时,就默认的为它们添加了非空约束。 ↩︎

  3. 注:限制某个字段的值(数据)不能是空的(非空),必须添加此数据。
    关键字:Not null(字段的值不能为NULL)
    注意:写在字段后面。 ↩︎

  4. 注:关键字:UNIQUE
    保证数据表当中字段的唯一性,即表中字段的值不能重复。 ↩︎

  5. 注:为数据表当中的字段设置一个默认值。 ↩︎

  6. 约束的字段可以是任何整数类型;该字段的值是从1开始自增,每次增加1。
    注意:
    1.自动生成的数据一定是唯一的,并且是非空 的。
    2.为了保证数据的唯一性和独立性,在使用此功能时,必须在此关键字前加 primary key。 ↩︎

  7. truncate 与 delete 的区别:
    1、使用delete删除全部数据时,如再添加数据,自动增加字段的值为删除时该字段的最大值加1。
    使用truncate删除全部数时,如再次向表中添加数据,自动增加字段的值重新从1开始
    2、delete删除语句,可以在后跟where过滤条件,来实现删除部分或指定数据。
    而truncate,只仅仅是删除全部数据。 ↩︎

  8. 注:通配符: % 指任意长度的字符串,包括空字符串。
    通配符 : _ 下划线只能匹配单个字符;百分号通配符只需要用一次;如果要匹配多个字符,需要使用多个下划线; ↩︎

  9. 注:排序查询本身默认的就是升序,所以升序关键字asc可以省略; ↩︎

  10. group by可以与聚合函数连用 ↩︎

  11. 注:记录数:要查看的数据的数量
    1.查询结果并不是从起始位置的那条数据开始,而是从起始位置的下一条数据开始显示。
    2.在没有起始位置的这个参数时,将从第一条数据开始显示。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值