表的创建
-> create table if not exists
runoob_tb1
(
->runoob_id
int unsigned auto_increment,
->runoob_title
varchar(100) not null,
->runoob_author
varchar(40) not null,
->submission_data
date,
-> primary key (runoob_id
)
-> )engine=InnoDB default charset=utf8;
代码解释
添加默认值
default ’ …’;
添加注释:
comment ‘z’
这里显示注解不明显,但是可以借助可视化工具
表的修改
使用 ALTER TABLE 语句追加、修改,或者删除列的语法
添加
alter table 表名 add ( );
例如:在stu表内添加一个性别,默认为男
alter table stu add (gender varchar(3) not null default ‘男’);
修改
alter table stu modify
例如,修改性别,默认为女
alter table stu modify gender varchar(2) not null default ‘女’;
修改表的名称
rename table 表名 to 新的表名;
例如将stu修改为student;
修改列的名称
alter table 表名 change 旧列名 新列名 新列名的类型;
例如将学生表里面的id改成IDcard
alter table student change id IDcard int;
修改字符集
修改数据库的字符集
alter database 要修改的数据库名 character set ‘新的字符集编码’;
例如:
alter database db1 character set ‘utf8’;
修改表的字符集
alter table 要修改的表名 character set ‘新的字符集编码’;
例如:
alter table student character set ‘utf8’;
修改某个字段的字符集
alter table 表名 modify column 指定列和列的属性 character set 旧的编码 collate 新的编码:
例如:
将student表里面的name编码由之前的utf8mb4修改成utf8
alter table db1.student modify column name varchar(20) character set ‘utf8’;
删除
alter table 表名 drop 列名
例如,删除学生表中的gender列
alter table stu drop gender;
删除表并重新创建(不可逆)
truncate table 表名;
例如:
将student表删除并重新创建;
truncate table student;