一.创建数据库和表
一.创建(删除)数据库
create database [if not exists] db2 [CHARACTER set 'utf8mb4']
alter database db2 character set 'gbk';
drop database db2;
二.查看数据库
三.创建表
# 切换数据库
use learn;
# 查看表
show tables;
# 显示表结构
desc user;
# 创建账号密码表
create TABLE user(
userid INT,
username varchar(200),
password varchar(200),
role varchar(200)
);
# 插入数据
INSERT into user(userid,username,password,role)
values
(1,'admin',123456,'user'),
(2,'shiyu',123456,'user'),
(3,'java',123456,'user'),
(4,'python',123456,'user'),
(5,'ospf',123456,'user');
# 清空数据
TRUNCATE table grade;
# 删除数据,可以带where条件决定删除哪些行
DELETE FROM grade WHERE cid=4;
DELETE FROM grade WHERE cid in (3,5,8);
# 更新数据
UPDATE grade SET cname=30 WHERE cid=4;
四.主键约束
1.唯一标识
# 创建一张表,指定一个主键
CREATE TABLE temp(id int primary key);
# 外键:引用了其他表的主键,
# 外键约束:子表只能更新主表有的主键
# 唯一约束:
# 非空约束:
# 检查约束:
五.设计表三范式
1.第一范式:确保每一列保持原子性,不可再细分
2.第二范式:确保每行的唯一性,子表外键只有一个
3.第三范式:确保每一列都和主键列直接相关,而不是间接相关
# 设计数据表为了效率可能会刻意违背此原则