sql语句
时间:2021-03-11 13:02:17
收藏:0
阅读:0
mySQL
数据库操作
创建数据库
create database 数据库名 [character set 字符集 collate 校对规则];
修改数据库
alter database 数据库名称 [character set 字符集 collate 校对规则];
查看数据库的字符集和校验规则
show create database 数据库名;
删除数据库
drop database 数据库名;
查看所有数据库
show databases;
查看正在使用的数据库
select database();
切换数据库
use 数据库名;
数据库表操作
创建数据表
create table 表名称(
字段名称 字段类型(长度) 约束,
字段名称 字段类型(长度) 约束…
);
数据类型
- tinyint/smallint/int/bigint
- float/double
- bit
- char/varchar
- date/time/datetime/timestamp
单表约束分类
- 主键约束:primary key 主键约束默认就是唯一 非空的
- 唯一约束:unique
- 非空约束:not null
查看所有表
show tables;
查看表结构信息
desc 表名;
删除表
drop table 表名
修改表
修改表:添加列
alter table 表名 add 列名 类型(长度) 约束;
修改表:修改列类型,长度和约束
alter table 表名 modify 列名 类型(长度) 约束;
修改表:删除列
alter table 表名 drop 列名;
修改表:修改列名称
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
修改表:修改表的字符集
alter table 表名 character set 字符集;
修改表:修改表名
rename table 表名 to 新的表名;
数据库表记录操作
各关键字使用顺序:
S(select)… F(from)…W(where)…G(group by)…H(having)…O(order by);
添加表记录
插入所有列
insert into 表名 values (值1,值2,值3…);
插入某些列
insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…);
修改表记录
修改某列所有值
update 表名 set 列名=值,列名=值 [where 条件];
按条件修改数据
update 表名 set 列名=值,列名=值 where 列名=值;
删除表记录
delete from 表名 [where 条件];
查询表记录
基本查询
select [distinct] *|列名 from 表 [条件];
查询所有
select * from 表;
按列查询
select 列名[, 列名...] from 表;
条件查询
select *|列名 from 表 where 列名 比较符[> , < , >= , <= , <> ,=] 值;
多条件查询
select *|列名 from 表 where 条件 逻辑符[and , or ,not] 条件...;
范围查询
select *|列名 from 表 where 列名 in (值,值,...);
模糊查询
select *|列名 from 表 where 列名 like ‘表达式‘;
表达式中可以使用_或者%作为占位符。
_只能代表一个字符,而%可以代表任意个字符。
- like ‘李_’=:名字中必须是两个字,而且是姓李的。
- like ‘李%’=:名字中姓李的学生,李子后可以是1个或任意个字符。
- like ‘%四’=:名字中以四结尾的。
- like ‘%王%’=:只要名称中包含这个字就可以。
统计查询
使用运算符
select 列名 运算符[+,-] 列名 [运算符 列名...] from 表;
使用聚合函数
select 聚合函数(参数...) from 表;
聚合函数 | 作用 |
---|---|
sum() | 求和 |
count() | 求个数 |
max() | 求最大值 |
min() | 求最小值 |
avg() | 求平均值 |
不重复查询
select distinct *|列名 from 表;
别名查询
select 列名 as 别名[, 列名 as 别名...] from 表 ;
排序查询
升序查询
select * from 表 order by 列名 [asc];
倒序查询
select * from 表 order by 列名 dasc;
多重排序查询
select * from 表 order by 列名 排序方式, 列名 排序方式;
分组查询
基本分组查询
select * from 表 group by 列名;
分组查询并在where子句中使用聚合函数
select * from 表 group by 列名 having 含聚合函数的条件;
评论(0)