MySQL语法总结

一、DDL(数据定义语言)

1、查看所有数据库show databases;
2、选择数据库use 数据库名;
3、创建数据库create database [if not exists(添加这句后如果数据库存在也能正确执行sql语句,但是并不会有任何效果,如果不加且数据库已经存在就会报错)] 数据库名 [charset=utf8(指定数据库的编码方式,默认是utf8)];中括号中的是可选的,
4、删除数据库drop database [if exists(如果存在该数据库,就删除,如果不存在,就不进行操作,但sql语句不报错误)] 数据库名;
5、修改数据库编码alter database 数据库名 character set 编码方式;
6、创建表

create table [if not exists] 表名(
    列名 列类型,
    列名 列类型,
    列名 列类型
);

7、查看当前数据库中所有表的名称show tables;
8、查看指定表的创建语句show create table 表名;
9、查看表结构desc 表名;
10、删除表drop table 表名;
11、修改表之添加列

alter table 表名 add (
    列名 列类型,
    列名 列类型
);

12、修改之修改列类型(如果没修改的列一存在数据,那么修改后可能会影响前数据)alter table 表名 modify 列名 列类型;
13、修改之修改列名alter table 表名 change 原列名 新列名 列类型;
14、修改之删除列alter table 表名 drop 列名;
15、修改表名字alter table 原表名 rename to 新表名;

二、DML(数据操作语言)

1、插入数据insert into 表名 (列名1,列名2,....) values (列值,列值2,....);列值的顺序是按照列名的顺序,如果给出列名,则该列的值为null,也可以省略列名直接给列值,这样就必须按照顺序给出全部的数据。
2、修改数据update 表名 set 列名=列值 [where 约束条件];,如果没有给约束条件就会把所有数据修改。
3、删除数据delete from 表名 [where 约束条件];如果没有给约束条件就会把所有数据删除。

三、DCL(数据控制语言)

1、创建用户create user 用户名@ip地址 identified by 密码;,用户只能在指定的ip地址上登录。create user 用户名@'%' identified by 密码;用户可以在任意ip上登录。
2、给用户授权grant 权限1,....,权限n on 数据库.* to 用户名@ip地址;
3、撤销权限revoke 权限1,....,权限n on 数据库.* from 用户名@ip地址;
4、查看权限show grant for 用户名@ip地址;
5、删除用户drop user 用户名@ip地址;

四、DQL(数据查询语言)

1、查询所有列select * from 表名 [约束条件];
2、查询指定列select 列名1,...,列名n from 表名 [约束条件];
3、完全重复的记录只出现一次select disinct [*]或[列名1,...,列名n] from 表名;
4、列运算

  • 数字类型的列可以做加、减、乘、除运算select 列名*1.5 from 表名;
  • 字符串类型可以做连接运算select concat('字符串',列名) from 表名;
  • 转换null值,有些数据可能会和null运算,这样的结果会是null,而我们希望将null的值当做0进行运算,可以select 列名+ifnull(列名,替换值) from 表名;
  • 给列起别名select 列名 as 新名字 from 表名;
五、控制条件

1、条件控制
where 列名 运算符 条件 [and 列名 运算符 条件];
例子:
where age > 5 and age <10;
这个约束是年龄大于5且小于10
where 列名 between 条件 and 条件
例子:
where age between 5 and 10;
这个约束是年龄大于等于5且小于等于10(包含边界)
where 列名 in (条件,条件);
例子:
where age in (5,10);
这个约束是年龄为5岁或者10岁
2、模糊查询
where 列名 like 条件
例子:
where name like '张__';
匹配名字为张某某的人,_可以匹配任意一个字符,%可以匹配0~n字符
3、排序
select * from 表名 order by 排序列名;
将数据按照排序列名的数据排序。默认是升序
,如果想降序可以在排序列名后加desc

六、聚合函数

1、count
select count(列名) from 表名;
查询表中该列的记录数量,注意不包括数据为null的记录。
2、max min
select max | min(列名) from 表名;
查询该列中最大(或最小)的数据
3、sum
select sum(列名) from 表名;
查询该列的所有数据的和,自动把null当做0
4、avg
select avg(列名) from 表名;
查询该列的平均数据。

七、分组查询

select 分组列,聚合函数 from 表名 group by 分组列;
将数据按照分组列分组,将聚合函数的结果和分组列输出。
分组后的约束条件用的关键字是having

八、limit子句(只能用于mysql)

select * from 表名 limit 起始值 行数;
起始值从第零行开始,行数是查询的记录的数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值