MySQL表的操作
目录1. 创建表2. 创建表的示例3. 查看表结构4. 修改表5. 删除表正文开始1. 创建表语法create table table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明field 表示列名datatype表示列的类型character set字符集如果没有指定字符集则以所在数据库的字符集为准collate校验规则如果没有指定校验规则则以所在数据库的校验规则为准2. 创建表的示例mysql create table users( - id int, - name varchar(20) comment 用户名, - password char(32) comment 密码是32位的md5值, - birthday date comment 生日 - )character set utf8 engine MyISAM; Query OK, 0 rows affected, 1 warning (0.00 sec)说明不同的存储引擎创建表的文件不一样。users表存储引擎是MyISAM在数据目中有三个不同的文件分别是users.frm表结构users.MYD表数据users.MYI表索引备注创建一个engine是innodb的数据库观察存储目录3. 查看表结构desc 表名;示例4. 修改表在项目实际开发中经常修改某个表的结构比如字段名字字段大小字段类型表的字符集类型表的存储引擎等等。我们还有需求添加字段删除字段等等。这时我们就需要修改表。ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename DROP (column);示例在users表添加二条记录mysql insert into users values(1,a,b,1982-01-04),(2,b,c,1984-01- 04);在users表添加一个字段用于保存图片路径mysql alter table users add assets varchar(100) comment 图片路径 after birthday;mysql desc users; --------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | password | char(32) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100)| YES | | NULL | | ---------------------------------------------------插入新字段后对原来表中的数据没有影响mysql select * from users; ----------------------------------------- | id | name | password | birthday | assets | ----------------------------------------- | 1 | a | b | 1982-01-04 | NULL | 原来的数据仍然存在 | 2 | b | c | 1984-01-04 | NULL | -----------------------------------------修改name将其长度改成60mysql alter table users modify name varchar(60);mysql desc users; --------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | name | varchar(60) | YES | | NULL | | 长度变成60 | password | char(32) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100) | YES | | NULL | | ---------------------------------------------------删除password列注意删除字段一定要小心删除字段及其对应的列数据都没了mysql alter table users drop password; mysql desc users; --------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | name | varchar(60) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100) | YES | | NULL | | ---------------------------------------------------修改表名为employeeto可以省掉mysql alter table users rename to employee; mysql select * from employee; ------------------------------- | id | name | birthday | assets| ------------------------------- | 1 | a | 1982-01-04 | NULL | | 2 | b | 1984-01-04 | NULL | -------------------------------将name列修改为xingmingmysql alter table employee change name xingming varchar(60); --新字段需要完整 定义mysql desc employee; --------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | xingming | varchar(60) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100) | YES | | NULL | | ---------------------------------------------------5. 删除表语法格式DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...示例drop table t1;