dream

一个菜鸟程序员的成长历程

0%

数据库系统原理第七节

数据库系统原理第七节

数据库设计

数据定义

连接数据库

mysql -u root -p

创建数据库

create database my_test;

查看数据库

show databases;

删除数据库

drop my_test;

进入数据库

use my_test;

表定义

创建表

数据表被定义为字段的集合
的格式存储
每一行代表一条记录
每一列代表记录中一个字段的取值

1
2
3
4
create [temporary] table tbl_name
(
字段名1 数据类型 [列完整性约束条件] [默认值]
)

修改表

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

删除表

1
2
drop [temporary] table [if exists]

查看表

1
show colums from table_name;

索引定义

索引时提高数据文件访问效率的有效方法

缺点

  • 索引是以文件的形式存储的,如果有大量的索引,索引文件可能比数据文件更快达到最大的文件尺寸

  • 索引在提高查询速度的同时,会降低更新表的速度

  • index 或 key 普通索引

  • unique 唯一性索引 候选码

  • primary key 主键

创建索引

1
2
create [unique] index index_name
on table_name(index_col_name)

索引删除

drop index index_name on table_name