# 2020.12.06
## 数据库01
1. 安装 mysqld(服务端) mysql(客户端)sql语句(通信交流) DBMS
2. 关系型数据库 非关系型数据库  //了解
3. 数据库 数据表 数据行 的增删改查
```
    数据库:
    //创建数据库
    create database db1;
    //删除数据库
    drop database db1;
    //查看数据库
    show database
    //使用/进入数据库
    use database
    
    数据表:
    //创建数据表
    create table tb1(
        id int not null 
    )
    
    数据行:
    //增
    insert into tb1(name, age)  value(‘wang‘, 18);
    
    //删
    delete from tb1;
    truncate table tb1;
    delete from tb1 where id > 10
    
    //改
    update tb1 set name=‘root‘ where id > 10
    
    //查
    select * from tb1;
    select id,name from tb1;
```
3. 非空 not null
4. 主键 primary key 提高查询效率/唯一性
5. 自增 auto_increment
6. 外键约束 constraint 表1 foreign key (表1列名) references 表2 (表2列名)
7. 回滚事物 engine=innodb
8. 设置编码格式 default charset = utf8
9. 设置每列的默认值 default null
10. 数据类型
```
    数字类型: int longint text
    字符串 char(固定字符串的长度)、varchar //创建表的时候应该把char类型(固定长度)的放在前面,把varchar类型的放在后面,这样查询的时候可以提高效率
    是否为空:null/not null
    时间:datatime
    枚举
    set
```
11. 注意点
```
    一个表只能有一个主键 
    一个主键可以有多列(primary key(列1, 列2,列3, ... )) 
    为主键的列不能为空(not null)
```
12. 参考
https://www.cnblogs.com/wupeiqi/articles/5713315.html
原文:https://www.cnblogs.com/wanglisha123/p/14091921.html