MySQL Note9: 表操作

MySQL Note9: 表操作

查看

# 查看当前数据库中所有表 show tables; # 查看表结构 desc 表名; # 查看表的创建语句 show create table '表名';

创建

# 创建表,auto_increment表示自动增长,CREATE TABLE table_name (column_name column_type); CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。

修改

# 修改表,alter table 表名 add|change|drop 列名 类型; alter table students add birthday datetime; # 更改表名 rename table 原表名 to 新表名;

删除

# 删除表 drop table 表名;

修改表结构

# 1、更改表得的定义把某个栏位设为主键。 ALTER TABLE tab_name ADD PRIMARY KEY (col_name) # 2、把主键的定义删除 ALTER TABLE tab_name DROP PRIMARY KEY (col_name) # 3、 在tab_name表中增加一个名为col_name的字段且类型为varchar(20) alter table tab_name add col_name varchar(20); # 4、在tab_name中将col_name字段删除 alter table tab_name drop col_name; # 5、修改字段属性,注若加上not null则要求原字段下没有数据 alter table tab_name modify col_name varchar(40) not null; # 6、如何修改表名: alter table tab_name rename to new_tab_name; # 7、如何修改字段名:必须为当前字段指定数据类型等属性,否则不能修改 alter table tab_name change old_col new_col varchar(40); # 8、 用一个已存在的表来建新表,但不包含旧表的数据 create table new_tab_name like old_tab_name;