对于表的操作
前言
此次总结主要时再次记忆一下数据库操作,部分语句可能因为数据库的不同不正确,如有错误,联系博主改正。
一 创建表
1.1创建表模板:
CREATE TABLE 表名(
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件], …
属性名 数据类型);
1.2 表的属性的数据类型:
整数:
integer(size)
int(size)
smallint(size)
tinyint(size)
带有小数的:
decimal(size,d)
numeric(size,d)
size为字数位数,d为小数点右侧位数
字符:
char(size)
varchar(size)
char固定长度字符
varchar 可变长度字符
1.3 表的约束条件
1.3.1 非空:not null
约束数值不能为空
creat table table_name (
id int(22) not null
)
1.3.2唯一约束 unique
约束数值唯一
添加方式:
create table table_name(
id int (22) unique,
)
当表已经创建时,想要添加unique
alert table table_name
add unique(id)
1.3.3主键 primary key
约束唯一标识数据库表中的每条记录,主键不能为空,且数值唯一
添加方式:
create table table_name(
id int(22) primary key
)
表存在时,添加主键):
alter table table_name
add primary key(id)
mysql去除主键
alter table table_name
drop primary key
oracle去除主键
alter table table_name
drop constraint id
1.3.4外键 foreign key
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
mysql数据库添加方式:
create table_name(
id int (22)
foregin key(id) references table_othername(Id_P)
)
oracle数据库添加方式:
create table_name(
id in(22) foregin key references table_othername(Id_P)
)
表存在时,添加外键(所有数据库适用):
alter table_name
add foregin key(id) references table_othername(Id_P)
1.3.5 值的约束 check
CHECK 约束用于限制列中的值的范围
数据库添加方式:
create table_name(
id int(22) check(id>0)
)
表存在时,添加check(所有数据库适用):
alter table_name
add check(id>0)
1.3.6 默认值 default
DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
数据库添加默认值
create table_name(
id int (22) default 123
id char (22) default 'aaaa'
)
二 修改表
2.1修改表名
alter table 老表名 to 新表名
2.2添加表字段
alter table 表名 add 字段名 类型(值)
示例:alter table user add name varchar(40);
2.3删除表字段
alter table 表名 drop 字段名
示例: alter table user drop name;
2.4表字段改名
alter table 表名 rename 老字段名 to 新字段名
示例:alter table user rename oldname to newname;
2.4修改表字段类型
alter table 表名 alter 字段 类型;
示例:alter table user alter name varchar(50);
三 删除表
drop table table_name