常用SQL语句
SQL:结构化查询语言,用来操作关系型数据(关系型数据库:以二维表的方式存储数据),分为以下四类
DDL:操作数据库、表
1.操作数据库
查询:
show databases; #查询所有数据库
创建:
create database db1; #创建数据库,名称为db1,若创建重名的数据库会报错
crete database if not exists db1; #若db1不存在则创建
删除:
drop database db1; #删除数据库db1,若数据库不存在会报错
drop database if exists bd1 #若db1存在则删除
使用:
use db1; #使用数据库
select database(); #查看当前使用的数据库
2.操作表
查询:
show tables; #查询当前数据库下所有的表名称
desc 表名; #查询表的结构信息
创建:
create table 表名 (
字段名1 数据类型,
字段名2 数据类型,
...
字段名n 数据类型
); #创建表
删除:
drop table 表名;#若表名不存在会报错
drop table if exists 表名; # 若表名存在则删除
修改:
alter table 表名 rename to 新的表名; #修改表名
alter table 表名 add 列名 数据类型; #添加一列
alter table 表名 modify 列名 新数据类型; # 修改数据类型
alter table 表名 change 列名 新列名 新数据类型; # 修改列名和数据类型
alter table 表名 drop 列名; # 删除列
DML:对表中数据进行增删改
添加数据
1.给指定列添加数据
insert into 表名 (列名1,列名2,...) values(值1,值2,...);
2.给所有列添加数据
insert into 表名(所有列名) valuse(所有值);
insert into 表名 values (所有值); #表名可以省略,不建议省略
3.批量添加数据
insert into 表名(列名1,列名2,...) values(值1,值2,...),(值1,值2,...)...;
insert into 表名 values (值1,值2,...),(值1,值2,...)...;
修改数据
update 表名 set 列名1=值1,列名2=值2,... where 条件; #如果update语句没加where条件,会将表中所有数据全部修改
删除数据
delete from 表名 where 条件; #如果没加where条件,会将表中所有数据全部删除
DQL:对表中的数据进行查询
1.查询多个字段
selcet 字段列表 from 表名;
select * from 表名; # 查询所有数据
2.去除重复记录
select distinct 字段列表 from 表名;
3.起别名
字段名后加as #可省略
4.条件查询
select 字段列表 from 表名 where 条件列表;
5.排序查询(如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序)
select 字段列表from 表名 order by 排序字段名1 [排序方式], 排序字段名2 [排序方式];
asc:升序(默认)
desc:降序
6.聚合函数
count(), max(), min(), sum(), avg()
null值不参与聚合函数运算
select 聚合函数名(列名) from 表名;
7.分组查询
select 字段列表 from 表名 [where 分组前限定条件]group by 分组字段名 [having 分组后条件过滤]
8.分页查询(limit只能在mysql中使用)
select 字段列表 from 表名 limit 起始索引,查询条目数;
起始索引 = (当前页码 - 1)* 每页显示的条数
DCL:对数据库进行权限控制

浙公网安备 33010602011771号