数据表操作
创建数据表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名[(create_definition,…)][table_options] [select_statement]
参数说明:
TEMPORARY:如果使用该关键字,表示创建一个临时表
IF NOT EXISTS:该关键字用于避免表存在时MySql报告错误
create_definition:这是表的列属性部分。mysql要求在创建表时,至少包含一列
table_options:表的一些特性参数,其中大多数选项设计的时表数据如何存储及存储在何处
select_statement:SELECT运距描述部分,用于快速创建表
create_definition部分语法
col_name type [NOT NULL|NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition]
参数说明
col_name:字段名
type: 字段类型
NOT NULL|NULL :指出该列是否允许为空,系统一般默认允许为控制,所以当不允许为空值时,必须使用NOT NULL
DEFAULT default_value:表示默认值
AUTO_INCREMENT:表示十分字段编号,每个表只能有一个AUTO_INCREMENT列,并且必须被索引
PRIMARY KEY:表示十分为主键。一个表只能由一个PRIMARY KEY。
reference_definition:为字段添加注释
最基本创建数据表格式为:CREATE TABLE 数据表名(列名 属性,列名2 属性2);
create table test_table(
id int auto_increment primary key,
user varchar(30) not null,
password varchar(30) not null,
createtime datetime);
查看数据表的结构
SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]
SHOW COLUMNS FROM test_table;
DESCRIBE 数据表名; 其中DESCRIBE可以简写为DESC
DESCRIBE 数据表名 列名; 单独查询一列信息
修改表的结构
修改表结构是指增加或者删除字段,修改字段名/类型以及修改表名等,可以使用ALTER TABLE实现
ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]…| table_options
参数说明
(1)[IGNORE]:可选项,表示如果出现重复关键的行,则只执行一行,其他重复的行被删除。
(2)数据表名:用于指定要修改的数据表的名称。
(3)alter_spec子句:用于定义要修改的内容,其语法格式如下。

参数说明:
① create_definition:用于定义列的数据类型和属性,与6.1节CREATE TABLE语句中的语法相同。
② [FIRST | AFTER column_name ]:用于指定位于哪个字段的前面或者后面,使用FIRST关键字时,表示位于指定字段的前面;使用AFTER关键字时,表示位于指定字段的后面。其中的column_name表示字段名。
③ [index_name]:可选项,用于指定索引名。
④ (index_col_name,...):用于指定索引列名。
⑤ {SET DEFAULT literal | DROP DEFAULT}子句:为字段设置或者删除默认值。其中literal参数为要设置的默认值。
⑥ old_col_name:用于指定要修改的字段名。
⑦ new_tbl_name:用于指定新的表名。
(4)table_options:用于指定表的一些特性参数,其中大多数选项涉及的是表数据如何存储及存储在何处,如ENGINE选项用于定义表的存储引擎。多数情况下,用户不必指定表选项。
添加一个字段和修改字段的类型
alter table test_table add email varchar(50) not null, modify user varchar(40);
修改字段名/类型
使用CHANGE [COLUMN] old_col_name create_definition子句可以修改字段名或者字段类型
ALTER TABLE 数据表名 CHANGE COLUMN user username VARCHAR(30) NULL DEFAULT NULL ;
删除字段
使用DROP [COLUMN] col_name子句可以删除指定字段。
alter table 数据表名 drop 字段名
修改表名
使用ALTER TABLE table name RENAME AS new_table_name子句可以修改表名。
alter table 数据表名 rename as 新数据表名
重命名表
重命名数据表可以使用RENAME TABLE语句来实现
rename table 数据表名 to 新数据表名
复制表
创建表的CREATE TABLE语句还有另外一种语法结构:在一个已经存在的数据表的基础上创建该表的备份,也就是复制表。
CREATE TABLE[IF NOT EXISTS]数据表名 {LIKE源数据表名|(LIKE源数据表名)}
crate table 数据表名 like to 数据表名1; 复制数据表名1表,并且放在一个名称为数据表名的表
删除表
删除数据表的操作很简单,同删除数据库的操作类似,使用DROP TABLE语句即可实现。
drop table 数据表名
浙公网安备 33010602011771号