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;

索引的使用原则

  • 数据量特别大,而且经常被人用来索引的表可以选择某一个常用字段设置索引
  • 不要在大字段上创建索引
posted @ 2020-11-15 19:10  nobody-guy  阅读(83)  评论(0)    收藏  举报