码迷,mamicode.com
首页 > 其他好文 > 详细

第二章 创建、删除和修改表

时间:2016-05-24 22:44:54      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

创建表

create table 表名(属性名 数据类型 [完整性约束条件],

属性名 数据类型 [完整性约束条件],

属性名 数据类型 [完整性约束条件]);

注:建表前先选择数据库

   

约束条件

约束条件

说明

primary key

设为主键

foreign key

设为外键,是与之联系的某表的主键

not null

设该属性不能为空

unique

标识该属性的值是唯一的

auto_increment

标识该属性的值自动增加

default

设置该属性的默认值

   

   

查看表结构

describe 表名;

mysql> describe user;

   

设置表的主键

单字段主键

mysql> create table user(id int primary key,

name varchar(23));

多字段主键

primary key(属性名1,属性名2)

   

mysql> create table user(id int,course_id int,grade float,primary

key(id,course_id));

 

设置表的外键

 

   

user_id(主键)

name

age

  

  

  

course_id(主键)

course_name

user_id(外键)

  

  

  

  

  

  

   

当父表删除某条信息时,子表对应得信息也会被删除。

   

constraint 外键别名 foreign key(属性1.1,属性1.2,……)

references 表名(属性2.1,属性2.1,……)

   

创建父表

mysql> create table user(u_id int primary key,name varchar(20));

   

创建子表

mysql> create table course(id int primary key,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

   

c_fk为外键的别名,而且外键必须是父表的主键

父表

技术分享

F

子表

技术分享

   

设置表的非空约束

 

mysql> create table course(id int primary key,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

   

   

   

技术分享

   

设置 表的唯一约束

   

mysql> create table course(id int primary key,name varchar(20) unique,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

   

   

   

技术分享

   

   

设置表的属性值自动增加

mysql> create table course(id int primary key auto_increment,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

   

   

技术分享

   

设置表的属性的默认值

 

mysql> create table course(id int primary key auto_increment,Computer float default 0,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

   

   

技术分享

   

 

查看表结构

1.describe

   

技术分享

   

2.show create table

   

技术分享

   

   

   

修改表

修改表名

alter table 旧表名 rename 新表名;

   

   

修改字段的数据类型

alter table 表名 modify 属性名 数据类型;

   

mysql> alter table user modify name varchar(30);

   

修改字段名

alter table 表名 change 就属性名 新属性名 新数据类型

   

mysql> alter table user change u_id user_id int;

   

更改后的字段与原来字段约束一致,如不更改数据类型,则与原来一致

   

增加字段

alter table 表名 add 属性名1 数据类型 [约束条件] [first| after 属性名2]

   

first参数指定新增字段为表的第一个字段,after指定在原有某个字段之后。默认在表的最后一个字段

   

mysql> alter table user add user_age int not null after user_id;

   

   

技术分享

   

删除字段

alter table 表名 drop 属性名;

   

mysql> alter table user drop user_age;

   

修改字段的排列位置

alter table 表名 modify 属性名1 数据类型 first|after 属性名2;

   

更改表的存储引擎

alter table 表名 engine=存储引擎名;

   

更改表的默认编码集

alter table 表名 charset=utf8;

   

删除表的外键约束

alter table 表名 drop foreign key 外键别名;

   

删除表

a.删除未被关联的普通表

drop table 表名;

   

b.删除被关联的父表

1)先删除子表的外键约束,再删除父表

2)先删除子表,再删除父表

  

第二章 创建、删除和修改表

标签:

原文地址:http://www.cnblogs.com/wuchaodzxx/p/5524816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!