SQL的分类:
DDL: 数据库的定义, 与数据库/表结构: create, drop, alter
DML: 数据操纵语言: 操作表数据 insert update delete
DCL: 数据控制语言: 设置用户的访问权限 安全
DQL: 数据查询语言: select from where
数据库:
创建数据库: create database 数据库的名字
删除数据库:drop database 数据库名字
修改数据库: :alter database character set 字符集
查看数据库: :(1)查看数据库定义: show create database 数据库名字
(2)select database(); 查看当前正在使用的数据库
选中数据库:use 数据库的名字
表结构的操作:
创建表:
create table 表名(
列名 列的类型(长度) 约束,
列名2 列的类型(长度) 约束
);
列的约束:
主键约束: primary key(auto_increment)
唯一约束: unique
非空约束: not null
删除表:
drop table 表名
修改表:
添加列:alter table 表名 add 列名 列的类型 列的约束
修改列:alter table 表名 modify 列名 列的类型 列的约束
修改列名:alter table 表名 change 旧列名 新列名 列的类型 列的约束
删除列:alter table 表名 drop 列名
修改表的字符集:alter table 表名 character set 字符集
修改表名:rename table 旧表名 to 新的表名
查看表:
show tables ; 查看当前数据库中所有的表名
show create table 表名: 查看表的定义结构/创建语句
desc 表名 : 查看表的结构
表中数据的CRUD操作:
插入数据:insert into 表名(列名1,列名2)values(值1,值2);
insert into 表名 values(值1,值2);;
批量插入:insert into 表名values(值1,值2),(值1,值2),(值1,值2);
删除数据:delete from 表名 [where 条件]
truncate table 表名: 先删除表,再重建表
更新数据:update 表名 set 列名=值, 列名=值 [where 条件]
查询数据:通用格式: select [distinct] [*] [列名1,列名2] from 表名 where 条件 group by ..having 条件过滤 order by 排序
执行顺序:from->where->group by->having->select->order by
关系运算符:(1):<> 不等于 或 != 不等于(两种写法)
(2) :<,<=,=,>,>=
(3):between and
(4): +-*/
逻辑运算符:
and or not
in 在范围中
模糊查询 :like:
_ 表示的单个字符
% 表示的是多个字符
别名查询: as
聚合函数:
sum : 求和
avg() : 平均值
count() : 统计数量
max() : 最大值
min() : 最小值
排序 order by :
asc : ascend
desc : descend
分组 group by