MySQL---表的操作(创建表、查看表、修改表、删除表)

  数据库中的表和现实中的表没有什么不一样,就是一行代表一个对象,每一列代表对象的一个属性,这样就很容易理解数据库中表的存在。
  在数据库中对于表的操作有四种:创建、查看、修改、删除。下面将分别介绍这四种对于表的操作。

1. 创建表

语法:

CREATE TABLE table_name(
	field1 datatype,
	field2 datatype,
	field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field表示列名
  • datatype表示列的数据类型
  • character set 字符集:如果没有指定字符集,则以所在的数据库的字符集为准。
  • collate 校验规则:如果没有指定校验规则,则以所在数据库的校验规则为标准。

举例: 创建一个数据表users,有id、name、password、birthday属性

CREATE TABLE users(
	id INT,
	name VARCHAR(20) COMMENT '用户名',
	password CHAR(10) COMMENT '密码',
	birthday DATE COMMENT '生日'
)CHARACTER SET utf8 ENGINE MYISAM;

说明:

  • 不同的存储引擎,创建表的文件不一样。
    users表引擎是MYISAM,在数据目中有三个不同的文件,分别是:
    • users.frm:表结构
    • users.MYD:表数据
    • users.MYI:表索引
      在这里插入图片描述

2. 查看表

查询当前数据库中有那些表

SHOW TABLES;

在这里插入图片描述
查看表结构

DESC table_name;

在这里插入图片描述
查看创建表的语句

SHOW CREATE TABLE table_name;

在这里插入图片描述

3. 修改表

  在实际项目开发中,经常需要修改某个表的结构,比如字段名字、字段大小、字段类型、表的字符集类型、表的存储引擎等。又是还会需要添加字段、删除字段等操作。这时候就需要修改表结构。
语法:

// 添加
ALTER TABLE table_name ADD (COLUMN datatype [DEFAULT expr][, COLUMN datatype] ...);
// 修改
ALTER TABLE table_name MODIFY (COLUMN datatype [DEFAULT expr][, COLUMN datatype] ...);
// 删除
ALTER TABLE table_name DROP (COLUMN datatype [DEFAULT expr][, COLUMN datatype] ...);

举例:
 我们现在表中添加数据,以便于观察变化。

扫描二维码关注公众号,回复: 5745423 查看本文章
INSERT INTO users VALUES (1, '张三', '123456', '2018-1-1'), (2, '李四', '654321', '2019-1-1');
  • 在users表中添加一个字段,用于保存入学时间。
mysql> ALTER TABLE users ADD photo varchar(128) after birthday;
// 一般不要在添加字段中写after field,JDBC编程中有通过下标找到该列,如果给中间某一列后添加列,会导致错误,所以一般在最后一列后面添加
mysql> SELECT * FROM users;
+------+--------+----------+------------+
| id   | name   | password | birthday   |
+------+--------+----------+------------+
|    1 | 张三 | 123456   | 2018-01-01 |
|    2 | 李四 | 654321   | 2019-01-01 |
+------+--------+----------+------------+
2 rows in set (0.00 sec)
  • 修改name,将其长度改为64
mysql> ALTER TABLE users MODIFY name varchar(64);

在这里插入图片描述
在修改字段大小时,一定要改为列中现有数据的最大长度。否则会提示数据可能存在数据截断。

  • 删除password列
mysql> ALTER TABLE users DROP password;

在这里插入图片描述
注意: 删除字段一定要小心,删除字段及其对应的列的数据都没了。

  • 修改表名为employee
mysql> ALTER TABLE users RENAME TO employee;

在这里插入图片描述

  • 修改name列改为xingming
mysql> ALTER TABLE employee CHANGE name xingming VARCHAR(60);

在这里插入图片描述
注意: 新字段需要完整的定义。

4. 删除表

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name1] ...

举例:

  • 删除users1表
mysql> DROP TABLE users1;

有时候我们删除的表不存在,当我们去删除它时就会报出下面的错误。

mysql> DROP TABLE user1;

ERROR 1051 (42S02): Unknown table 'user1'

但是我们不想要这个错误的存在,就是“有就删除,没有就不删除”,所以我们需要加上 if exists。

mysql> DROP TABLE IF EXISTS user1;
// 删除成功
Query OK, 0 rows affected, 1 warning (0.00 sec)

虽然删除成功了,但是它有一条警告信息,那么我们如何查询警告信息呢?
查询上一条执行执行后的警告信息:

SHOW WARNINGS;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/meng_lemon/article/details/88843531