SQL
数据库相关
show databases;
展示所有数据库
create database [if not exists] 【数据库名】;
新建数据库
drop database [if exists] 【数据库名】;
删除数据库
use 【数据库名】;
使用数据库
select database();
查看当前使用的数据库
表相关
表的操作需要先选择数据库后使用,
创建表:
create table 【表名】(
【字段1】【类型1】[【comment】【注释1】],
【字段2】【类型2】[【comment】【注释2】],
【字段3】【类型3】[【comment】【注释3】]
)[【comment】【表注释】];
drop table 【表名】
删除表
describe 【表名】;
查看表的信息
show create table student;
查看建表语句的信息
alter (修改表的操作)相关语法:
添加一个字段(默认放在所有字段的最后面)
alter table 【表名】
add【字段】【类型】[【comment】【注释】];
添加一个字段,指定放在开头
alter table 【表名】
add【字段】【类型】[【comment】【注释】] frist;
添加一个字段,指定放在某个字段后面
alter table 【表名】
add【字段】【类型】[【comment】【注释】] after 【字段(添加的字段将被放在这个字段后面,这个字段是表里已经有的)】;
修改一个字段
alter table 【表名】
modify【字段】【类型】[【comment】【注释】];
删除一个字段
alter table 【表名】
drop【字段】;
一些类型:
字符串 char()
varchar()
1字节 tinyint
约束:
非空约束:not null
唯一约束: unique
主键约束: primary key
//非空且唯一
默认约束: default
外键约束: foreign key
//保证两表数据一致与完整
语法:alter table 【表名】 add constraint 【外键名】 foreign key 【外键字段名】 references 【主表字段名】;
desc 【表名】;
展示表信息
show create table 【表名】;
展示创建表时的信息
drop 【表名】 [if exists];
删除表
truncate table 【表名】;
删表并重新创建
alter table 【表名】 rename to 【新表名】;
修改表名
字段定义相关
alter table 【表名】 add 【字段】【类型】[【comment】【注释】];
添加字段定义
alter table 【表名】 drop 【字段】;
删除字段定义
alter table 【表名】 modify 【字段】 【新类型】;
修改字段类型
alter table 【表名】 change【字段】 【新字段】 【新类型】[【comment】【新注释】];
完全改变字段
字段的增删改
insert into 【表名】 (字段1,字段2,...) values (值1,值2,...),(值1,值2,...);
增加数据
全部字段时,(字段1,字段2,...)可用 ‘ * ’ 代替
update 【表名】 set 【字段1】=【值1】,【字段2】=【值2】[where 【条件】];
修改数据
delete from 【表名】 [where 【条件】];
删除数据
字段查找相关
语法:
select 【查找的字段】 from 【表名】
[where 【条件】]
[group by 【用于分组的字段】[ having 【分组后条件】] ]
[order by 【用于排序的字段1】 【排序方式1】,【用于排序的字段2】 【排序方式2】]
[limit 【起始索引(当前展示的页,默认为0,即第一页)】 【查询记录数(每页的数据数)】
执行顺序:from->where->groupBy->having->select->orderBy->limit
1.条件
写在【条件】【分组后条件】中
不等于: !=
<>
空: is null
非空:is not null
and
&&
or
||
数据在...中:数据 in (a,b,c)
模糊匹配
_
:一个字符
%
:任意个字符
在A和B之间的信息:信息 between A and B
2.函数
写在【查找的字段】中
数量 | 最大值 | 最小值 | 平均值 | 求和 |
---|---|---|---|---|
count() | max() | min() | avg() | sum() |
3.排序
写在【排序方式】中
不写排序方式:默认升序
升序 asc
降序 desc
多表查询
隐式内连接:select 【字段列表】 from 【表1】,【表2】 where 【条件】;
显式内连接:select 【字段列表】 from 【表1】 [inner] join 【表2】 on 【条件】;
左外连接:select 【字段列表】 from 【表1】 left [outer] join 【表2】 on 【条件】;
右外连接:select 【字段列表】 from 【表1】 right[outer] join 【表2】 on 【条件】;
--》:SQL语句中的select系列可以嵌套使用