MySQL(4)——数据表的基本操作(2)

MySQL(4)——数据表的基本操作(2)

在数据库中,数据表是数据库中最重要/最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的,每一行代表一条唯一的记录,每一列代表记录的一个域

查看数据表结构

有两种方式,

show

语法结构:

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名];
或者
SHOW [FULL] COLUMNS FROM 数据库名.数据表名;

示例:

mysql> show columns from user from test;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| userID       | int          | NO   | PRI | NULL    | auto_increment |
| userName     | varchar(128) | NO   |     | NULL    |                |
| userPassword | varchar(128) | NO   |     | NULL    |                |
| userPhone    | varchar(128) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
describe

语法结构:

DESCRIBE 数据表名;

示例:

mysql> describe user ;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| userID       | int          | NO   | PRI | NULL    | auto_increment |
| userName     | varchar(128) | NO   |     | NULL    |                |
| userPassword | varchar(128) | NO   |     | NULL    |                |
| userPhone    | varchar(128) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
也可以通过简写
mysql> desc user;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| userID       | int          | NO   | PRI | NULL    | auto_increment |
| userName     | varchar(128) | NO   |     | NULL    |                |
| userPassword | varchar(128) | NO   |     | NULL    |                |
| userPhone    | varchar(128) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

删除数据表

基础语法:

DROP TABLE 表名;

示例

mysql> drop table user;
Query OK, 0 rows affected (0.01 sec)

修改数据表

基础语法:

ALTER TABLE <表名> [修改选项]
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }
添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];

新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面。

示例:

mysql> alter table user
    -> add column testadd int first;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc user;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| testadd      | int          | YES  |     | NULL    |                |
| userID       | int          | NO   | PRI | NULL    | auto_increment |
| userName     | varchar(128) | NO   |     | NULL    |                |
| userPassword | varchar(128) | NO   |     | NULL    |                |
| userPhone    | varchar(128) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
修改字段数据类型

基础语法:

ALTER TABLE <表名> MODIFY <字段名> <数据类型>

其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。
示例:

mysql> alter table user
    -> modify testadd varchar(100);
Query OK, 1 row affected (0.02 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> desc user;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| testadd      | varchar(100) | YES  |     | NULL    |                |
| userID       | int          | NO   | PRI | NULL    | auto_increment |
| userName     | varchar(128) | NO   |     | NULL    |                |
| userPassword | varchar(128) | NO   |     | NULL    |                |
| userPhone    | varchar(128) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
删除字段

基础语法:

ALTER TABLE <表名> DROP <字段名>;

示例:

mysql> alter table user
    -> drop testadd;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc user;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| userID       | int          | NO   | PRI | NULL    | auto_increment |
| userName     | varchar(128) | NO   |     | NULL    |                |
| userPassword | varchar(128) | NO   |     | NULL    |                |
| userPhone    | varchar(128) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

修改字段名称

基础语法:

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
修改表名

基础语法:

ALTER TABLE <旧表名> RENAME [TO] <新表名>;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值