Mysql 创建、修改和删除表
2016-05-27 20:24
561 查看
6.1、创建表
6.1.1、创建表的语法形式
CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
......
属性名 数据类型
);
完整性约束条件表:
PRIMARYKEY 主键
FOREIGNKEY 外键
NOTNULL 不能为空
UNIQUE 唯一索引
AUTO_INCREMENT 自动增加
DEFAULT 默认值
CREATE TABLE example0 (id INT,
name VARCHAR(20),
sex BOOLEAN
);
6.1.2、设置表的主键
单字段主键
属性名数据类型 PRIMARY KEY
CREATE TABLE example1( stu_id INT PRIMARY KEY,
stu_name VARCHAR(20),
stu_sex BOOLEAN,
);
多字段主键
PRIMARY KEY(属性名1, 属性名2…属性名n)
CREATE TABLE example2(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 TABLE example3(stu_id INT,
course_idINT,
CONSTRAINTc_fk FOREIGN KEY (stu_id, course_id)
REFERENCESexample2(stu_id, course_id)
);
6.1.4、设置表的非空约束
CREATE TABLE example4(id INT NOT NULL PRIMARYKEY,
name VARCHAR(20)NOT NULL,
stu_id INT,
CONSTRAINTd_fk FOREIGN KEY(stu_id),
REFERENCE Sexample1(stu_id)
);
6.1.5、设置表的唯一性约束
属性名 数据类型 UNIQUE
CREATE TABLE example5(id INTPRIMARY KEY,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);
6.1.6、设置表的属性值自动增加
属性名 数据类型 AUTO_INCREMENT
CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INTUNIQUE,
name VARCHAR(20)NOT NULL
);
6.1.7、设置表的属性的默认值
属性名 数据类型 DEFAULT 默认值
CREATE TABLE example7(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 CREATE TABLE 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;
6.1.1、创建表的语法形式
CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
......
属性名 数据类型
);
完整性约束条件表:
PRIMARYKEY 主键
FOREIGNKEY 外键
NOTNULL 不能为空
UNIQUE 唯一索引
AUTO_INCREMENT 自动增加
DEFAULT 默认值
CREATE TABLE example0 (id INT,
name VARCHAR(20),
sex BOOLEAN
);
6.1.2、设置表的主键
单字段主键
属性名数据类型 PRIMARY KEY
CREATE TABLE example1( stu_id INT PRIMARY KEY,
stu_name VARCHAR(20),
stu_sex BOOLEAN,
);
多字段主键
PRIMARY KEY(属性名1, 属性名2…属性名n)
CREATE TABLE example2(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 TABLE example3(stu_id INT,
course_idINT,
CONSTRAINTc_fk FOREIGN KEY (stu_id, course_id)
REFERENCESexample2(stu_id, course_id)
);
6.1.4、设置表的非空约束
CREATE TABLE example4(id INT NOT NULL PRIMARYKEY,
name VARCHAR(20)NOT NULL,
stu_id INT,
CONSTRAINTd_fk FOREIGN KEY(stu_id),
REFERENCE Sexample1(stu_id)
);
6.1.5、设置表的唯一性约束
属性名 数据类型 UNIQUE
CREATE TABLE example5(id INTPRIMARY KEY,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);
6.1.6、设置表的属性值自动增加
属性名 数据类型 AUTO_INCREMENT
CREATE TABLE example6(id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INTUNIQUE,
name VARCHAR(20)NOT NULL
);
6.1.7、设置表的属性的默认值
属性名 数据类型 DEFAULT 默认值
CREATE TABLE example7(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 CREATE TABLE 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;
相关文章推荐
- Mysql 查询数据
- Mysql 插入、更新与删除数据
- Mysql 数据备份与还原
- mysql优化之表建设
- Mysql的行锁
- mysql中length字符长度函数使用方法
- 重置mysql密码
- 关于MAC下重置MYSQL密码
- mysql事物处理
- How to install mysql On amazon EC2 with yum
- mysql innodb存储引擎和myisam引擎
- Mysql授权GRANT ALL PRIVILEGES
- mysql中获取一天、一周、一月时间数据的各种sql语句写法
- MySQL 主从同步错误解决
- MySql 5.6 所支持的存储引擎
- mysql 数据库获取当前时间
- mysql批量导出、导入文本数据
- mysql
- mysql
- MySQL数据转移至MSSQL详解