目录
1.表的基本操作
1.1 创建表
2. 查看表结构
3.修改表
3.1 新增一列
3.2 修改列属性
3.3 修改名字
3.3.1 修改表名字
3.3.2 修改表内列名字
3.4删除
3.4.1 删除列
3.4.2 删除表
1.表的基本操作
查看自己目前在哪个数据库里面
mysql> select database();
1.1 创建表
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
- field1 表示列名
- datatype 表示列的类型
- character set 字符集 如果没有指定,就用所在数据库的字符集为准
- collate 校验规则,如果没有指定校验规则,就用数据库的校验规则为准。
- engine同理,不同的存储引擎,创建表的文件不一样。
- 在创建表的时候,列后面也可以跟一个comment' 注释 ',
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
虽然在表中看不见这些注释。但是可以通过下面两个语句进行查看。
show create table 表名 \G
show create table 表名;
\G可以改变显示的格式,更方便查看。
2. 查看表结构
查看该数据库下的所有表
mysql> show tables;
查看表的创建语句
mysql> show create table 表名 \G
查看表的属性结构
mysql> desc 表名;
3.修改表
对表的修改共有三种,新增列、删除列、修改表结构(比如字段名字、字段大小、字段类型、表的字符集类型、表的存储引擎等)
先在massage表里面插入一些值
mysql> insert into massage(id,name,birthday) values(1,'张三','2002-04-26');
mysql> insert into massage(id,name,birthday) values(2,'李四','2002-04-26');
mysql> select * from massage ;
3.1 新增一列
mysql> alter table massage add 名称 类型;
3.2 修改列属性
使用 modify
mysql> alter table massage modify 列名 类型;
注意,这里修改列属性是覆盖式的,comment内容也需要重新再写。
也可以通过 change来进行修改
alter table 表名 change 原来列名 现在列名 类型;
mysql> alter table t6 change stusnum stunum int(8) zerofill;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc t6;
+--------+--------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| stunum | int(8) unsigned zerofill | YES | | NULL | |
+--------+--------------------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
3.3 修改名字
3.3.1 修改表名字
alter table 表名 rename 新表名;
alter table massage rename massage_set;
3.3.2 修改表内列名字
mysql> alter table massage change 原来的名字 新名字 类型;
mysql> alter table massage change forchange changed int(10);
3.4删除
3.4.1 删除列
alter table massage drop 列名;
注意:如果当前表只剩一列了就不能在通过该语句删除了。只能通过删除表的操作了。
3.4.2 删除表
mysql> drop table 表名;
mysql> drop table massage;