管理逻辑库和数据表
查询所有数据库里的表、创建逻辑库、删除逻辑库。
创建表语句:
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, remake VARCHAR(200) );
向表中插入数据语句:
INSERT INTO student VALUES (1,'张三','男','1996-10-21','13312345678',null);
查看当前数据库有哪些数据表:SHOW TABLES;
查看数据表的具体情况:DESC student;
查看数据表的创建语句:SHOW CREATE TABLE student;
删除数据表:DROP TABLE student;
向表中添加字段:
ALTER TABLE student ADD address VARCHAR(200) NOT NULL, ADD home_tel CHAR(11) NOT NULL;
修改字段类型和约束:
ALTER TABLE student MODIFY home_tel VARCHAR(20) NOT NULL;
修改字段名称:
ALTER TABLE student CHANGE home_tel home_tel1 VARCHAR(30) NOT NULL;
删除字段:
ALTER TABLE student DROP home_tel1;
了解常见的数据类型和约束
字符串、正数、浮点、精确数字、日期、枚举、主键约束、非空约束、唯一约束、外键约束等
数据库的第三范式
MYSQL的字段约束共有4中
主键约束:PRIMARY KEY ,字段值唯一且不能为NULL
建议主键一定要使用数字类型,因为数字的检索速度非常快,提高查询效率。
如果主键是数字类型,还可以设置AUTO_INCREMENT自动增长。
外检约束:NOT NULL ,字段值不能为NULL
唯一约束:UNIQUE ,字段值唯一且可以为NULL
外键约束:FOREIGN KEY 保持关联数据的逻辑性
FOREIGN KEY (deptno) REFERENCES t_dept(deptno)
掌握索引的运行机制和使用原则
排序为什么可以提高数据的检索速度?怎么创建和删除索引?什么条件下使用索引?
创建表时添加索引:
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) );
在创建表后添加索引:
CREATE INDEX content ON t_message(content);
ALTER TABLE t_message ADD INDEX createTime(create_time);
查看表中的所有索引:
SHOW INDEX FROM t_message;
删除索引:
DROP INDEX createTime on t_message;
索引的使用原则:
> 1.数据量很大,而且经常被查询的数据表可以设置索引 2.索引只添加在经常被用作检索条件的字段上面 3.不要在大字段上创建索引,比如长度超过50的字符串就不适合设置索引。