您的位置:首页 > 数据库 > MySQL

MySQL入门很简单-学习笔记 - 第6章 创建、修改和删除表

2012-03-09 00:00 351 查看

6.1、创建表

6.1.1、创建表的语法形式

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

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

......

属性名 数据类型

);

完整性约束条件表:

PRIMARYKEY 主键

FOREIGNKEY 外键

NOTNULL 不能为空

UNIQUE 唯一索引

AUTO_INCREMENT 自动增加

DEFAULT 默认值

CREATE TABLEexample0 (id INT,

name VARCHAR(20),

sex BOOLEAN

);

6.1.2、设置表的主键

单字段主键

属性名数据类型 PRIMARY KEY

CREATE TABLEexample1(stu_id INT PRIMARY KEY,

stu_name VARCHAR(20),

stu_sexBOOLEAN,

);

多字段主键

PRIMARY KEY(属性名1, 属性名2…属性名n)

CREATE TABLEexample2(stu_id INT,

course_idINT,

gradeFLOAT,

PRIMARY KEY(stu_id, course_id)

);

6.1.3、设置表的外键

CONSTRAINT 外键别名 FOREIGN KEY (属性1.1, 属性1.2,…, 属性1.n)

REFERENCES表名(属性2.1, 属性2.2,…, 属性2.n)

CREATE TABLEexample3(stu_id INT,

course_idINT,

CONSTRAINTc_fk FOREIGN KEY (stu_id, course_id)

REFERENCESexample2(stu_id, course_id)

);

6.1.4、设置表的非空约束

属性名 数据类型 NOT NULL

CREATE TABLEexample4(id INT NOT NULL PRIMARYKEY,

name VARCHAR(20)NOT NULL,

stu_id INT,

CONSTRAINTd_fk FOREIGN KEY(stu_id),

REFERENCESexample1(stu_id)

);

6.1.5、设置表的唯一性约束

属性名 数据类型 UNIQUE

CREATE TABLEexample5(id INTPRIMARY KEY,

stu_id INT UNIQUE,

name VARCHAR(20) NOT NULL

);

6.1.6、设置表的属性值自动增加

属性名 数据类型 AUTO_INCREMENT

CREATE TABLEexample6(id INT PRIMARY KEY AUTO_INCREMENT,

stu_id INTUNIQUE,

name VARCHAR(20)NOT NULL

);

6.1.7、设置表的属性的默认值

属性名 数据类型 DEFAULT 默认值

CREATE TABLEexample7(id INT PRIMARY KEY AUTO_INCREMENT,

stu_id INTUNIQUE,

name VARCHAR(20)NOT NULL.

english VARCHAR(20)DEFAULT ‘zero’,

computer FLOAT DEFAULT 0

);

6.2、查看表结构

6.2.1、查看表基本结构语句DESCRIBE

DESC 表名

desc example1

6.2.2、查看表详细结构语句SHOW CREATE TABLE

SHOW CREATE TABLE 表名;

SHOW CREATETABLE example example1\G;

6.3、修改表

6.3.1、修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;

DESC example0;

ALTER TABLE example0 RENAME TO user;

6.3.2、修改字段的数据类型

ALTER TABLE 表名 MODIFY 属性名数据类型;

DESC user;

ALTER TABLE user MODIFY name VARCHAR(30);

DESC user;

6.3.3~6.3.6、字段及数据类型的增、删,改以及改变位置

ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST|AFTER属性名2];

ALTER TABLE 表名 DROP 属性名;

ALTER TABLE 表名 CHANGE 旧属性名新属性名 新数据类型;

利用上面的语句可以增加,删除,修改字段。修改字段名,数据类型,和位置

6.3.7、更改表的存储引擎

ALTER TABLE 表名ENGINE=INNODB|MYISAM|MEMOERY;

SHOW CREATE TABLE user\G;

ALTER TABLE user ENGINE=MyISAM;

6.3.8、删除表的外键约束

ALTER TABLE表名 DROP FOREIGN KEY 外键别名 ;

SHOW CREATE TABLE example3\G;

ALTER TABLE example3 DROP FOREIGN KEY c_fk;

SHOW CREATE TABLE example3\G;

6.4、删除表

6.4.1、删除没有被关联的普通表

DROP TABLE 表名;

DESC example5;

DROP TABLE example5;

DESC example5;

6.4.2、删除被其他表关联的父表

删除外键后再删除表

DROP TABLE example1; -- 报错

SHOW TABLE example4\G;

ALTER TABLE example4 DROP FOREIGN KEY d_fk;

SHOW TABLE example4\G;

DROP TABLE example1;

DESC example1;

$(document).ready(function(){dp.SyntaxHighlighter.HighlightAll('code');});

原文链接:
http://blog.csdn.net/kimsoft/article/details/6748326
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: