Mysql从入门到入魔——2. 操纵数据库和表

x33g5p2x  于2021-12-19 转载在 其他  
字(2.4k)|赞(0)|评价(0)|浏览(397)

本篇主要内容
本篇开始正式进入 Mysql 的学习阶段,主要内容包括数据库与表的一些操作。内容相对简单,话不多说,进入正题!

1. 数据库操作

1.1显示数据库

  1. mysql> SHOW DATABASES;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | order_system |
  6. +--------------------+

1.2 创建数据库

CREATE DATABASE 数据库名 CHARSET='编码格式'

  1. mysql> CREATE DATABASE create_test CHARSET = 'utf8';
  2. mysql> SHOW DATABASES;
  3. +--------------------+
  4. | Database |
  5. +--------------------+
  6. | create_test |
  7. | order_system |
  8. +--------------------+

1.3 使用数据库

  1. mysql> USE create_test;

1.4 查看当前数据库

使用 SELECT DATABASE() 查看当前使用的数据库。

  1. mysql> SELECT DATABASE();
  2. +-------------+
  3. | DATABASE() |
  4. +-------------+
  5. | create_test |
  6. +-------------+

1.5 删除数据库

  1. mysql> DROP DATABASE create_test;
  2. mysql> SHOW DATABASES;
  3. +--------------------+
  4. | Database |
  5. +--------------------+
  6. | order_system |
  7. +--------------------+

2. 表操作

2.1 创建表

格式:

  1. CREATE TABLE [IF NOT EXISTS] `表名` (
  2. `字段名` 列类型 [属性] [索引] [注释],
  3. `字段名` 列类型 [属性] [索引] [注释],
  4. .......
  5. `字段名` 列类型 [属性] [索引] [注释]
  6. ) [表类型] [字符集设置] [注释]

使用下面的语句创建示例中的 Products 表。

  1. mysql> CREATE TABLE Products
  2. -> (
  3. -> prod_id CHAR(10) NOT NULL,
  4. -> vend_id CHAR(10) NOT NULL,
  5. -> prod_name CHAR(255) NOT NULL,
  6. -> prod_price DECIMAL(8,2) NOT NULL,
  7. -> prod_desc VARCHAR(1000) NULL
  8. -> );

注意:创建表时,指定的表名必须不存在,否则会出错。

2.2 更新表

2.2.1 添加列

在刚才创建的 Products 表中添加一列 prod_count

  1. mysql> ALTER TABLE Products
  2. -> ADD prod_count INT(10);

2.2.2 删除列

删除 prod_count 列。

  1. mysql> ALTER TABLE Products
  2. -> DROP COLUMN prod_count;

2.3 查看表结构

  1. mysql> DESC Products;
  2. +------------+---------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +------------+---------------+------+-----+---------+-------+
  5. | prod_id | char(10) | NO | | NULL | |
  6. | vend_id | char(10) | NO | | NULL | |
  7. | prod_name | char(255) | NO | | NULL | |
  8. | prod_price | decimal(8,2) | NO | | NULL | |
  9. | prod_desc | varchar(1000) | YES | | NULL | |
  10. | prod_count | int(10) | YES | | NULL | |
  11. +------------+---------------+------+-----+---------+-------+

2.4 查看表详细信息

\G 后面不能加“ ; ”

  1. mysql> SHOW TABLE STATUS LIKE 'Products' \G
  2. *************************** 1. row ***************************
  3. Name: products
  4. Engine: InnoDB
  5. Version: 10
  6. Row_format: Dynamic
  7. Rows: 0
  8. Avg_row_length: 0
  9. Data_length: 16384
  10. Max_data_length: 0
  11. Index_length: 0
  12. Data_free: 0
  13. Auto_increment: NULL
  14. Create_time: 2021-05-27 20:26:08
  15. Update_time: NULL
  16. Check_time: NULL
  17. Collation: utf8_general_ci
  18. Checksum: NULL
  19. Create_options:
  20. Comment:

2.5 重命名表

两种方法:

  • ALTER TABLE 表名 RENAME [TO | AS] 新表名;
  • RENAME TABLE 表名 TO 新表名;

用方法一将 Products 表更名为 new_Products ,再用方法二改回来。

  1. -- 方法一
  2. mysql> ALTER TABLE Products RENAME TO new_Products;
  3. -- 方法二
  4. mysql> RENAME TABLE new_Products TO Products;

2.6 删除表

DROP TABLE 表名

  1. mysql> DROP TABLE Products;

注意:在该表与其他表有关联时,Mysql 会阻止该表的删除。

相关文章