表的基本操作

数据库:MySQL

工具:MySQL workbench

 

第二章 表的相关操作

 

1 创建表

语法 : create table 表名

(

字段1 字段类型 [非空约束(not null)][默认值(default XX),

字段2 字段类型 [非空约束(not null)],

……

约束定义1,

约束定义2,

……

)

例1:

create table T_Person
(
  FName varchar(20) not null,
  FAge int default 0,
  FRemark varchar(20),
  primary key (FName)

);

例2:

create table T_Debt
(
  FNumber varchar(20),
  FAmount decimal(10, 2) not null default 0,
  FPerson varchar(20),
  primary key (FNumber),
  foreign key (FPerson) references T_Person(FName)
)

建议:语句分多行写,便于阅读和理解

 

2 定义

1)主键

语法:primary key(字段名)

如例1,例2

主键可以用多列联合,叫做联合主键或复合主键。

复合主键的缺点:(1)效率低。添加删除查找更新操作时,数据库必须处理多个字段,大大降低了处理速度。

(2)使数据库设计更糟糕。违反了”使用逻辑主键而不是业务主键“的实践经验。

(3)使创建此表的外键关联关系非常麻烦。

(4)加大开发难度。很多开发工具和框架对复合主键支持不友好。

所以不建议使用复合主键。

2)外键

语法:foreign key 外键字段名称 references 目标表名(被关联的字段名称)。

如例2。

 

3修改已有的数据表

语法:alter table 待修改的表名 add 字段名 字段类型

例3:alter table T_Person add FFavorite varchar(20)

语法:alter table 待修改的表名 drop 待删除的字段名

例4:alter table T_Person drop FFavorite

建议:DB2不支持删除字段。

建议:修改字段名可以先添加新字段,类型和目标 字段相同,把目标字段数据复制到新字段,删除目标字段。

建议:修改表名可以先创建新表,把目标表的数据复制到新表,删除目标表。

 

4删除数据表

语法:drop table 要删除的表名

例5:drop table T_Person

建议:如果表之间创建了外键关联,则删除表时要先删除拥有外键的表,然后才能删除目标表。

建议:删除表时或者创建表之前,可以用drop table if exists 要删除的表名 的语法,来删除表,或者先删除后创建,避免创建重名表而导致的失败。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值