day2
修改表结构
给student表添加两列 分别是address和home_tel
ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel CHAR(11) NOT NULL;
将表中home_tel中的CHAR属性进行修改
ALTER TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;
把表中address字段给改成home_address
ALTER TABLE student
CHANGE address home_address VARCHAR(200) NOT NULL;
删除字段
ALTER TABLE student
DROP home_adress,
DROP home_tel;
ATLER TABLE属于ddl语句
数据库的范式:
- 原子性
- 唯一性
- 关联性
字段约束
- 主键约束 PRIMARY KEY 字段值唯一且不能为null
- 非空约束 NOT NULL 字段值不能为null
- 唯一约束 UNIQUE 字段值唯一且可以为null
- 外键约束 FOREIGN KEY 保持关联数据的逻辑性
CREATE TABLE teacher(
ID VARCHAR UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
phone CHAR(11) NOT NULL,
married BOOLEAN NOT NULL DEFAULT FALSE
);
创建了一个名为teacher 的表,有四列分别为:ID(约束为:无符号化 主键 自动生成) name(约束为:字符长度最长20 不为空) phone(约束为:长度为11的字符串 不为空) married(约束为:布尔值 不为空 初始值false)
外键约束可以将两个表中的某一个字段进行关联,如果多个表进行外键约束,容易行程闭环,就会无法删除任何一张表
数据库的索引
创建一个t_message表格并对type创建索引
CREATE TABLE t_message(
id INT UNSIGNED PRIMARY KEY,
content VARCHAR(200) NOT NULL,
type ENUM('通知','个人','系统') NOT NULL,
INDEX i_type(type) COMMENT'对typ创建了一个名字叫i_type的索引'
);
索引的修改
#第一种语法
CREATE INDEX idx_type ON t_message(type);
#第二种语法
ALTER TABLE t_message ADD INDEX idx_type(type);
索引删除
DROP INDEX i_type ON t_message;
索引的使用原则
- 数据量特别大,而且经常被人用来索引的表可以选择某一个常用字段设置索引
- 不要在大字段上创建索引

浙公网安备 33010602011771号