mysql总结
三范式
第一范式
- 每一列必须仅包含一个值(有时候这个被描述为原子性或者不可分割性)
- 所有表都不能具有相关数据的重复列
第二范式
- 首先得满足第一范式
- 表的每一个不为主键的列必须依赖主键
第三范式
索引
定义:
它是一种数据库中用于提高select查询效率的特殊数据结构.虽然它提高了数据库的读取速度,但是却减慢了对更改数据的查询.
使用场景:
- 查询的where部分中频繁使用的列;
- 在查询的 order by 部分中频繁使用的列;
- 经常被用于join连结点的列;
- 允许为空的列不适合该场景;
- 字段值的范围很有限(eg,仅仅为y/n)的列不适合该场景;
类型:
- 我们会为所有的主键添加一个primary key索引,它就是一个特殊的unique索引;
- 我们会为表中值不能重复的列添加unique索引,即每一列对于索引列具有唯一的值;
- 有些字段我们会为其添加Fulltext索引,它是用于执行Fulltext查找;
- 我们会为经常在where子句中,order by 子句中,join用到的列添加标准索引,即index;
基本操作
创建数据库
create DATABASE sitename;
use sitename;
创建表
create table users(
user_id mediumint unsigned not null AUTO_Increment,
first_name varchar(20) not null,
primary key(user_id)
);
确认表是否存在
show tables;
show columns from users;
插入记录
insert into tablename(column1,column2) values(values1,values2);
选择数据
select * from tablename where user_id=1 limit 10;
更新数据
update tablename set columns1=values1 where user_id=2;
删除数据
delete from users where user_id=2;