mysql sql常用语句
1、操作数据库常用语句
1.show databases; 查看所有的数据库
2.create database test default charset=utf8mb4; 创建一个叫test的数据库,字符集为utf8mb4
3.drop database test;删除一个叫test的数据库
4.use test;选中叫test库,在建表之前必须要选择数据库
5.show tables; 在选中的数据库之中查看所有的表
6.create table 表名 (字段1 类型, 字段2 类型)engine=innodb default charset=utf8mb4; 数据引擎为innodb字符集为utf8mb4
7.desc 表名;查看所在的表的字段
8.drop table 表名; 删除表
9.show create database 库名;查看创建库的详细信息
10.show create table 表名; 查看创建表的详细信息
2、修改表命令
1.修改字段类型 alter table 表名 modify 字段 字段类型;
2.添加新的字段 alter table 表名 add 字段 字段类型
3.添加字段并指定位置 alter table 表名 add 字段 字段类型 after 字段;
4.删除表字段 alter table 表名 drop 字段名;
5.修改指定的字段 alter table 表名 change 原字段名字 新的字段名字 字段类型
3、对数据操作
1、增加
insert into 表名 values(值1,值2,...)--用于全部字段都添加
insert into 表名(字段1,字段2...) values(值1,值2,....);
insert into 表名(字段1,字段2...) values(值1,值2,....),(值1,值2,....),(值1,值2,....);--增加多组数据
2、删除
delete from 表名 where 条件 注意:where 条件必须加,否则数据会被全部删除
3、修改
update 表名 set字段1 = 值1, 字段2 = 值2 where 条件
4、查询
查询表中的所有数据 select * from 表名
指定数据查询 select 字段1,字段2 from 表名
根据条件查询出来的数据 select 字段 from 表名 where 条件
5、排序 order by
select 字段 from 表 order by 字段 排序关键词(desc | asc)
排序关键词 desc 降序 asc 升序(默认)
通过字段1降序,字段2升序来排序
例如 :select * from 表名 where 条件 order by 字段1 desc, age asc;
6、分组 group by
select 查询字段 from 表名 group by 字段
例如查询users表中男女的数量,对性别分组
select sex,count(*) from users group by sex;
having 可以对分组进行过滤,相当于where
7、常用函数
sum()求和
avg()平均
count()求数量
max()求最大值
min()求最小值
# 计算 users 表中 最大年龄,最小年龄,年龄和及平均年龄
select max(age),min(age),sum(age),avg(age) from users;
8、like子句
可以使用like语句进行某个字段的模糊搜索,
%代表多个 _代表单个
例如: 查询 name为王五的数据
select * from users where name like '王五';
查询 name 包含五的数据
select * from users where name like '%五%';
查询 name 包含以王开头的数据
select * from users where name like '王%';
查询 name 包含以王开头的俩个字的数据
select * from users where name like '王_';
注意:where子句中的like在使用%或者_进行模糊搜索时,效率不高,
使用时注意:
尽可能的不去使用%或者_ 。如果需要使用,也尽可能不要把通配符放在开头处
9、Limit 数据分页
limit n 提取n条数据,
limit m,n 跳过m跳数据,提取n条数据
-- 查询users表中的数据,只要3条
select * from users limit 3;
-- 跳过前4条数据,再取3条数据
select * from users limit 4,3
总结