数据库系统原理第七节
数据库设计
数据定义
连接数据库
mysql -u root -p
创建数据库
create database my_test;
查看数据库
show databases;
删除数据库
drop my_test;
进入数据库
use my_test;
表定义
创建表
数据表被定义为字段的集合
按 行
和列
的格式存储
每一行代表一条记录
每一列代表记录中一个字段的取值
create [temporary] table tbl_name
(
字段名1 数据类型 [列完整性约束条件] [默认值]
)
修改表
ALTER TABLE table_name
字句
- ADD [COLUMN] 子句
- change [COLUMN] 子句
- alter [column] 子句 修改或删除表中指定列的默认值
- alter colum city set default ‘bj’
- modify [column] 子句 只修改指定列的数据类型,不会干涉它的列名
- modify column city char(50);
- drop [column] 子句 删除指定列
- drop column city;
- rename [to] 子句 修改表名
- rename to table_name
- add index index_name(column_name) 创建索引
- drop index index_name
修改表名:
rename table table_name to new_table_name
删除表
drop [temporary] table [if exists]
查看表
show colums from table_name;
索引定义
索引时提高数据文件访问效率的有效方法
缺点
-
索引是以文件的形式存储的,如果有大量的索引,索引文件可能比数据文件更快达到最大的文件尺寸
-
索引在提高查询速度的同时,会降低更新表的速度
-
index 或 key 普通索引
-
unique 唯一性索引 候选码
-
primary key 主键
创建索引
create [unique] index index_name
on table_name(index_col_name)
索引删除
drop index index_name on table_name