常用命令
操作 | 命令模板 |
---|---|
创建数据库 | CREATE DATABASE 数据库名; |
指定要操作的数据库 | USE 数据库名; |
创建数据表 | CREATE TABLE 数据表名; |
查看数据表 | SHOW CREATE TABLE 数据表名; |
使用DESCRIBE语句查看数据表 | DESCRIBE 数据表名; |
为数据表重命名 | ALTER TABLE 数据表名 RENAME 新表名; |
修改字段名 | ALTER TABLE 数据表名 CHANGE 旧字段名 新字段名 新数据类型; |
修改字段数据类型 | ALTER TABLE 数据表名 MODIFY 字段名 数据类型; |
添加字段 | ALTER TABLE 数据表名 ADD 字段名 数据类型; |
删除字段 | ALTER TABLE 表名 DROP 字段名; |
修改字段的排列位置 | ALTER TABLE 数据表名 MODIFY 字段名1 数据类型 FIRST |
删除数据表 | DROP TABLE 数据表名; |
1、创建数据库
命令:CREATE DATABASE 数据库名;
例:
mysql> CREATE DATABASE student;
Query OK, 1 row affected (0.00 sec)
2、指定要操作的数据库
命令:USE 数据库名;
举例:
mysql> USE student;
Database changed
3、创建数据表(前提是已经指定了需要操作的数据库,命令参考上一条)
命令:CREATE TABLE 数据表名
(
字段名1 数据类型[完整性约束条件],
字段名2 数据类型[完整性约束条件],
…
字段名2 数据类型[完整性约束条件]
);
举例:
mysql> CREATE TABLE grade ( id INT(11), name VARCHAR(20), grade FLOAT );
Query OK, 0 rows affected (0.02 sec)
---
为了验证数据表是否创建成功,需要使用SHOW TABLES语句进行查看:
mysql> SHOW TABLES;
+-------------------+
| Tables_in_student |
+-------------------+
| grade |
+-------------------+
1 row in set (0.00 sec)
4、查看数据表
命令:SHOW CREATE TABLE 数据表名;
举例:
mysql> SHOW CREATE TABLE grade;
5、使用DESCRIBE语句查看数据表
命令:DESCRIBE 数据表名;或者DESC 数据表名;
举例:
mysql> DESC grade;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
6、为数据表重命名
命令:ALTER TABLE 数据表名 RENAME [TO] 新表名;
注意:命令中出现的[ ]中的内容表示选择性条件,不是必需;
举例:
mysql> ALTER TABLE grade RENAME newgrade;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
+-------------------+
| Tables_in_student |
+-------------------+
| newgrade |
+-------------------+
1 row in set (0.00 sec)
7、修改字段名
命令:ALTER TABLE 数据表名 CHANGE 旧字段名 新字段名 新数据类型
注意:新数据类型不能为空,即使不改变数据类型也要写上原来的数据类型
举例:ALTER TABLE newgrade(上边改名了) CHANGE name newname varchar(20);(把grade表中的name字段改为newname,数据类型不变)
mysql> ALTER TABLE newgrade CHANGE name newname varchar(20);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC newgrade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| newname | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
8、修改字段数据类型
命令:ALTER TABLE 数据表名 MODIFY 字段名 数据类型;
举例:(将字段名id的数据类型改为INT(20))
mysql> ALTER TABLE newgrade MODIFY id INT(20);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC newgrade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(20) | YES | | NULL | |
| newname | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
9、添加字段
命令:ALTER TABLE 数据表名 ADD 新字段名 数据类型 [约束条件] [FIRST | AFTER 已存在的字段名];
注意:“|”表示或者,其两边的参数是可供挑选的,此处的FIRST表示将字段设置为表的第一个字段,AFTER 表示将新字段插入到指定的“已存在的字段名”的后面
举例:
mysql> ALTER TABLE newgrade ADD age INT(10);
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC newgrade;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(20) | YES | | NULL | |
| newname | varchar(20) | YES | | NULL | |
| grade | float | YES | | NULL | |
| age | int(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
10、删除字段
命令:ALTER TABLE 表名 DROP 字段名;
举例:
mysql> ALTER TABLE newgrade DROP grade;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
11、修改字段排列位置
命令:ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2
举例1:ALTER TABLE newgrade MODIFY newname VARCHAR(20) FIRST;(将字段newname插入到表的第一个位置)
mysql> ALTER TABLE newgrade MODIFY newname VARCHAR(20) FIRST;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC newgrade;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| newname | varchar(20) | YES | | NULL | |
| id | int(20) | YES | | NULL | |
| age | int(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
12、删除数据表
命令:DROP TABLE 数据表名;
举例:
mysql> DROP TABLE newgrade;
Query OK, 0 rows affected (0.01 sec)