1.创建表
1.1一般格式
create table table_name(
Field1 datatype,
Field2 datatype,
Field3 datatype
) charset 字符集名 collate 校验规则 engine 存储引擎;
解释:
- Field : 表示列名
- datatype: 表示列的类型
- charset 字符集:指定字符集(如果未指定,将采用系统默认字符集)
- collate 校验规则:指定校验规则(如果未指定,将采用系统默认校准规则)
1.2创建表实例
create table users(id int,name varchar(20) comment '用户名',birthday date comment '用户生日')charset utf8 collate utf8_general_ci engine MyISAM;
解释:
- comment:表名的内容,在查看表的时候会显示comment内容
- 不同的存储引擎,创建表的文件不一样。
在该实例中:
users 表的存储引擎是MyISAM,在数据目中有三个不同的文件:
- users.frm: 表结构
- users.MYD: 表数据
- users.MYI: 表索引
2.查看表结构
mysql> desc 表名;
3.修改表
在实际的使用开发过程中,我们会经常修改某一个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有其他需求,添加字段,删除字段等。这时就需要我们修改表。
3.1修改表格式
alter table tablename add column_name datatype after exists_column_name;
alter table tablename modify exists_column_name datatype;
alter table tablename drop exists_column_name;
3.2修改表实例
3.2.1 在表中添加记录
mysql> insert into users values(1,'张三','1999-1-15');
3.2.2 在表中添加一个字段,用于保存密码
mysql> alter table users add password char(32) comment '用户密码' after name;
插入新字段后,也不会对原来的数据造成影响:
3.2.3 修改列的数据类型
mysql> alter table users modify name varchar(60);
3.2.4修改列名
mysql> alter table users change name xingming varchar(60);--新列名需要完整定义
也可以用这个方式来修改列的数据类型:
3.2.5 删除列
!!!删除列一定要小心,删除之后对应的数据就会消失!!!
mysql> alter table users drop password;
3.2.6 修改表名
mysql> alter table users rename (to) emplyee;
4.删除表
语法格式:
drop table (if not exists ) table_name1,table_name2....
实例:删除emplyee表(users改名)