mysql> desc 表名;
---------- -------------- ------ ----- --------- ----------------
| Field | Type | Null | Key | Default | Extra |
---------- -------------- ------ ----- --------- ----------------
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(255) | NO | | NULL | |
| password | varchar(255) | NO | | NULL | |
| age | tinyint(4) | YES | | NULL | |
---------- -------------- ------ ----- --------- ----------------
4 rows in set (0.00 sec)
Field 字段名
Type 字段的类型 int 整数 varchar 字符串 tinyint微整型
Null 字段是否可以为空
Key 主键 外键 等
Default 默认值
Extra 额外的 比如自动递增
查看创建表的语句
mysql> show create table 表名;
------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Table | Create Table |
------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| users | CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`age` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)
engine mysql 引擎
charset mysql 编码
创建数据表
mysql> create table if not exists 表名(字段名 类型(长度),字段2 类型(长度),字段3 类型(长度))engine=innodb default charset=utf8mb4; # mysql 只有 utf8 没有utf-8 Query OK, 0 rows affected (0.04 sec)
mysql> create table if not exists person(id int(11),username varchar(64),password varchar(128))engine=innodb default charset=utf8mb4;
Query OK, 0 rows affected (0.04 sec)
删除表
drop table 表名;
数据表字段操作
alter table 表名
修改表字段类型
alter table 表名 modify 字段名 类型(长度);
mysql> alter table 表名 modify 字段名 类型(长度);
mysql> alter table users modify age bigint(10); #示例
增加表字段
alter table 表名 add column 字段名 类型(长度); # column 可写可不写
mysql> alter table users add sex tinyint; #默认加到最后面
mysql> alter table users add column tel varchar(11) after password; #指定加到某个字段的后边
ysql> alter table users add column height varchar(11) first; #加到第一个位置
删除表字段
alter table 表名 drop column 字段名; #column 可加 可不加
mysql> alter table users drop column sex;
修改表字段
alter table 表名 change 原表名 新名字 类型(长度);
mysql> alter table users change username user_name varchar(128);
change、add 、 modify 都支持后边 加 first 、after
mysql> alter table users modify tel char(11) first;