mysql学习笔记
显示数据表
SHOW DATABASES;
创建数据库 demo
CREATE DATABASE demo;
删除数据库 demo
DROP DATABASE demo;
创建数据表
CREATE TABLE student(
id INT UNSIGNED PRIMARY KEY,
name VARCHAR(20) NOT NULL,
sex CHAR(1) NOT NULL,
birthday DATE NOT NULL,
tel CHAR(11) NOT NULL,
remark VARCHAR(200)
);
插入数据
INSERT INTO student VALUES(1, "木木警官", "男", "1999-05-29", "15770705548", "单身狗");
添加字段
ALERT TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel CHAR(11) NOT NULL;
修改字段
ALERT TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;
修改字段名字
ALERT TABLE student
CHANGE address home_address VARCHAR(20) NOT NULL;
删除字段
ALERT TABLE student
DROP home_address,
DROP home_tel;
查看表结构
DESC student;
主键约束 PRIMARY KEY
PRIMARY KEY
非空约束 NOT NULL
NOT NULL
唯一约束 UNIQUE
CREATE TABLE t_tearcher(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(200) NOT NULL,
tel CHAR(11) NOT NULL UNIQUE,
married BOOLEAN NOT NULL DEFAULT FALSE
);
外键约束 FOREIGN KEY
// 父表
deptno | dname | tel |
---|---|---|
10 | 财务部 | 1001 |
20 | 技术部 | 1002 |
30 | 销售部 | 1003 |
CREATE TABLE t_dept(
deptno INT UNSIGNED PRIIMARY KEY,
dname VARCHAR(20) NOT NULL UNIQUE,
tel CHAR(4) UNIQUE
);
// 子表
empno | name | sex | deptno | hiredate |
---|---|---|---|---|
1 | 陈浩 | 男 | 10 | 2018-05-10 |
2 | 李婷婷 | 女 | 30 | 2018-03-22 |
CREATE TABLE t_emp(
empno INT UNSIGNED PRIMARY KEU,
ename VARCHAR(20) NOT NULL,
sex ENUM("男","女") NOT NULL,
deptno INT UNSIGNED,
hiredate DATE NOT NULL,
FOREIGN KEY (deptno) REFERENCES t_dept(deptno)
);
创建添加索引
// 第一种方法
CREATE INDEX 索引名称 ON 表名(字段);
CREATE INDEX idx_type ON t_message(type);
// 第二种方法
ALERT TABLE 表名 ADD INDEX 索引名称(字段)
ALERT TABLE t_message ADD INDEX idx_type(type);
CREATE TABLE t_message(
id INT UNSIGNED PRIMARY KEY,
content VARCHAR(200) NOT NULL,
type ENUM("公告", "通报", "个人通知") NOT NULL,
create_time TIMESTAMP NOT NULL,
INDEX idx_type (type)
);
删除索引
DROP INDEX 索引名称 ON 表名
查看索引
SHOW INDEX FROM 表名;