一、DDL(数据定义语言)

1~8 操作数据库

1.创建数据库

  • create database 数据库名;
  • create database 数据库名 character set 字符集;

2.切换数据库

  • use 数据库名;

3.查看当前使用的数据库

  • select database();

4.查看mysql全部数据库

  • show database;

5.查看数据库定义信息

  • show create database 数据库名;

6. 修改数据库字符集

  • alter database 数据库名 character set 字符集;

7. 删除数据库

  • drop database 数据库名;

8.创建表

  • create table 表名(
    字段名称1 字段类型(长度),
    字段名称2 字段类型
    );
  • crate table 新表名 like 旧表名; 复制表结构

9. 查看表结构

  • desc 表名;

10.查看当前数据库中有那些数据表

  • show table;

11.查看表的建表语句

  • show create table 表名;

12.删除数据表

  • drop table 表名;
  • drop table if exists 表名; 判断表是否存在再删除

13.修改表名

  • rename table 旧表名 to 新表名;

14.添加列

  • alter table 表名 add 字段名 类型长度;

15.修改列的字段类型

  • alter table 表名 modify 字段名 类型长度;

16.修改列名称

  • alter table 表名 change 旧字段名 新字段名 新字段类型;

17.删除列

  • alter table 表名 drop 列名;

总结

  • 创建:create、查看:show、选择:select、切换:use
  • 修改表句式:alter table 表名 操作方式 列名等(add、modify、change、drop)

二、DML(数据操纵语言)

1.插入数据

  • insert into 表名 (字段1,字段2…) values(字段值1,字段值2…)

2.修改数据

  • update 表名 set 修改的值 where 条件
    • 不写where是 全部修改

3.删除数据

  • delete from 表名 [where 字段名 = 值]
    • 不写中括号里的那就删除全部数据
  • truncate table 表名
    • 删除表,创建一个结构一样的新表

三、DQL(数据查询语言)

1.简单查询

  • select 列名 from 表名;
    • 在列名后加as 可以定别名
    • 代替列名,是全部列
  • select distinct 列名 from 表名; 查询去重
  • select 列名 from 表名 where 条件表达式; 条件查询

2.核心查询

  • select 字段名 from 表名 order by 字段名【asc、desc】,字段名【asc、desc】;查询并且排序
  • 聚合函数
    • 语法:select 聚合函数(列名) from 表名;
    • count:值不为NULL的记录计数
    • sum:求和
    • max:最大值
    • min:最小值
    • avg:平均数
  • 分组
    • select 字段名/聚合函数 from 表名 group by 分组字段 having 分组条件;
  • 限制返回数量 (mysql独有)
    • select 字段名 from 表名 limit 偏移量,显示量;
  • 约束
    • 主键约束:primary key
      • 主键自增:在后面加 auto_increment
    • 非空约束:not_null
    • 唯一约束:unique
  • 默认值
    • default “默认值”;
  • 外键约束
    • 指向另一个表的主键
    • constraint 外键约束名称 foreign key 外键字段名 references 主表主键
    • 删除外键
      • alter table 从表 drop foreign key 外键约束名称
    • 添加外键
      • alter table 从表 add constraint 外键约束名称 foreign key 外键字段名 references 主表主键

3.多表查询

  • 笛卡尔积方式
    • select 字段名 from 表1,表2;
  • 笛卡尔积 + where条件(隐式内连接)
    • select 字段名 from 表1,表2 where id相等;
  • 显示内连接
    • select 字段名 from 左表 join 右表 on 条件;
  • 左外连接
    • select 字段名 from 左表 left join 右表 on 条件;
  • 右外连接
    • select 字段名 from 左表 right join 右表 on 条件;
  • 合并查询
    • select…… union select……; (结果合并并删除重复)
    • select…… union all select……; (不删除重复数据)
  • 子查询
    • 一个select结果作为另一select的一部分;需要()括起来。

四、DCL(数据控制语言)

五、其他

1.注释

# 一行注释
– 一行注释
/* 多行注释多行*/

2.常用数据类型

int 整型
dauble 浮点型
varchar 字符串型
date 日期类型
char 固定字符串长度