SQL的分类
- DDL: 数据库的定义, 与数据库/表结构: create, drop, alter
- DML: 数据操纵语言: 操作表数据 insert update delete
- DCL: 数据控制语言: 设置用户的访问权限 安全
- DQL: 数据查询语言: select from where
数据库操作语句
- 创建数据库: create database 数据库的名字
- 删除数据库: drop database 数据库名字
- 修改数据库: alter database 数据库名字 character set 字符集
- 查看数据库:
- show databases; 查看所有数据库
- 查看数据库定义: show create database 数据库名字
- select database(); 查看当前正在使用的数据库
- 选中数据库: use 数据库的名字
数据库表操作语句
- 创建表
- create table 表名( 列名 列的类型(长度) 约束, 列名2 列的类型(长度) 约束);
- 列的约束
- 主键约束: primary key
- 唯一约束: 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 排序
- 关系运算符
- <> 不等于
- != 不等于
- 逻辑运算符: and or not
- in: 在范围中
- 模糊查询 like
- _ 表示的单个字符
- % 表示的是多个字符
- 别名查询: as
- 聚合函数
- sum : 求和
- avg() : 平均值
- count() : 统计数量
- max() : 最大值
- min() : 最小值
- 排序 order by
- asc : ascend
- desc : descend
- 分组: group by