Mysql简单的表操作和约束

Mysql简单的表操作和约束

建表的具体模版

create table 表名(
列名1 数据类型 约束01,
列名2 数据类型 约束02:

示例:
create table 表名(
列名1 int [not null(不为空值)auto_increment (递增长)primary key(主键)],
列名2 varchar(20) not null,
)

插入一条记录的模板

insert into 表名(列名1,列名2,…) values(1值 ,2值,…);
!!! 如果你的列有递增长列,则相对性的一列数据不应出现在表名后().

删除表

drop table tablename (表名称)

修改表

(1) 修改表类型,语法如下:

(格式)alter table(表名) modify(列名)(需要修改的内容);

修改表 emp 的 ename 字段定义,将 varchar(10)改为 varchar(20):mysql> alter table emp modify ename varchar(20);

(2) 增加表字段,语法如下:

alter table (表名)add column (列名)(数据类型){可以添加约束,和主键];

例如,表 emp 上新增加字段 age,类型为 int(3):mysql> alter table emp add column age int(3);
(3)删除表字段,语法如下:

alter table(表名) drop column(列名);
例如,将字段 age 删除掉:mysql> alter table emp drop column age;

(4)字段改名,语法如下:

alter table (表名)change(列名称)(需要修改成的列名称)[同时可以修改字段类型];

例如,将 age 改名为 age1,同时修改字段类型为 int(4):mysql> alter table emp change age age1 int(4) ;

(6)表改名,语法如下:

alter table (表名) rename(需要修改成的表名);
例如,将表 emp 改名为 emp1,命令如下:mysql> alter table emp rename emp1;

约束

约束(constraint)实际上就是表中数据的限制条件 ,可以让其内容不重复,或者注册的时候必须添加条件和内容.

约束的五大种类

非空约束(not null)

唯一性约束(unique)

主键约束(primary key) PK

外键约束(foreign key) FK

检查约束(目前MySQL不支持、Oracle支持)

一 非空约束

使用not null 必须给指定的数据添加非空约束,比如(用户表,用户名都不可为空)

mysql> create table t_user(

-> id int(10),

-> name varchar(32) not null

-> );

Query OK, 0 rows affected (0.08 sec)

二 唯一性约束

unique约束的字段,具有唯一性,不可重复,但可以为null 创建表,保证邮箱地址唯一(列级约束)

mysql> create table t_user(

-> id int(10),  

-> name varchar(32) not null,

-> email varchar(128) unique

-> );

Query OK, 0 rows affected (0.03 sec)

表级约束

mysql> create table t_user(

-> id int(10),

-> name varchar(32) not null,

-> email varchar(128),

-> unique(email)    -> );

三 主键约束(primary key)

表设计必定要有主键

单一主键:给一个字段添加主键约束

复合主键:给多个字段联合添加一个主键约束(只能用表级定义) 单一主键(列级定义)

单一主键(列级定义)

mysql> create table t_user(

-> id int(10),  

-> name varchar(32) not null,

-> constraint t_user_id_pk primary key(id)

-> );

复合主键(表级定义)

mysql> create table t_user(

-> id int(10),

-> name varchar(32) not null,

-> email varchar(128) unique,

-> primary key(id,name)

-> );

四 外键约束(foreign key)

若有两个表A、B,id是A的主键,而B中也有id字段,则id就是表B的外键,外键约束主要用来维护两个 表之间数据的一致性。
A为基本表,B为信息表

只能是表级定义

foreign key(classno) references t_class(cno)

注意事项

外键值可以为null

外键字段去引用一张表的某个字段的时候,被引用的字段必须具有unique约束

有了外键引用之后,表分为父表和子表

班级表:父表

学生表:子表

创建先创建父表 删除先删除子表数据

插入先插入父表数据 存储学生班级信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值