查看
# 查看当前数据库中所有表
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;