数据表操作

创建数据表

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 数据表名

posted on 2023-11-14 16:40  搬家小蜜蜂  阅读(21)  评论(0)    收藏  举报

导航