本文介绍数据库的创建与删除,数据表的创建与管理。

1

MySQL 环境变量配置

MySQL数据库开发进阶:精通数据库表的创建与管理!_数据库开发

为了方便在 CMD 命令行工具操作,我们配置一下 MySQL 的环境变量。

点击此电脑-->属性-->高级系统设置-->环境变量--->在系统变量里面点击新建系统变量,如下:

MySQL数据库开发进阶:精通数据库表的创建与管理!_数据库开发_02

把新建的 mysql 变量添加到 Path 路径变量中,添加以下的内容,点击确定即可。

%mysql%\bin
  • 1.

环境变量配置好之后,就不需要进入到C:\devProgram\mysql\bin 目录下,才能执行 MySQL 命令,可以直接打开 CMD 登录 MySQL 进行使用。

2

数据库的创建与删除

1、数据库的创建

数据库安装好之后,MySQL 默认的数据库有 4 个,我们一般用不到。在我们使用时,需要创建自己的数据库,也是使用 MySQL 数据库的前提。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

在登录 MySQL 服务后,使用 create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名称;
--创建testdb数据库
create database testdb;
  • 1.
  • 2.
  • 3.

MySQL数据库开发进阶:精通数据库表的创建与管理!_数据库_03

数据库创建之后,我们可以使用如下命令查看数据库的定义:

show create database testdb;
  • 1.
mysql> show create database testdb;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| testdb   | CREATE DATABASE `testdb` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

2、数据库的删除

使用 drop 命令删除数据库

drop database 数据库名称;
--创建testdb数据库
drop database testdb;
  • 1.
  • 2.
  • 3.

MySQL数据库开发进阶:精通数据库表的创建与管理!_mysql_04

在使用 drop 命令删除数据库过程时,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失,包括数据库下面创建的表,而且没有确认过程。

3

创建数据表

MySQL数据库开发进阶:精通数据库表的创建与管理!_字段_05

在数据库中,数据表是重要的操作对象,是存储数据的基本单位。数据表是按照行和列来存储的,每行代码一条记录,每列代表一个属性。

1、创建数据表

创建 MySQL 数据表需要指定:表名、字段名、字段的数据类型。

在创建数据表之前,需要使用 use 命令选择一个数据库。

create table user(
  id int(8) primary key auto_increment,
  code varchar(32) unique not null,
  name varchar(32),
  age int(4)
);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

MySQL数据库开发进阶:精通数据库表的创建与管理!_字段_06

primary key:设置主键

auto_increment:设置数字自增长

unique:设置唯一约束

not null:设置字段不能为空

2、查看表信息

可以使用 desc 命令查看表结构。

mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| user             |
+------------------+
1 row in set (0.00 sec)


mysql> desc user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(8)      | NO   | PRI | NULL    | auto_increment |
| code  | varchar(32) | NO   | UNI | NULL    |                |
| name  | varchar(32) | YES  |     | NULL    |                |
| age   | int(4)      | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

可以使用 show create table 命令查看表的详细信息,加上 \G 输出的效果更好。

mysql> show create table user \G
*************************** 1. row ***************************
       Table: user
Create Table: CREATE TABLE `user` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `code` varchar(32) NOT NULL,
  `name` varchar(32) DEFAULT NULL,
  `age` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)


mysql>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

4

修改数据表

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_07

表创建之后,如果想要修改数据表,我们可以使用 alter table 命令来修改。

1、修改表名

语法:
alter table 旧表名 rename 新表名;
--把user表改名为user_info
alter table user rename user_info;
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_08

2、修改字段的数据类型

语法:
alter table 表名 modify 字段名 字段类型;
--把user_info表的name字段的数据类型调整为varchar(64)
alter table user_info modify name varchar(64);
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_09

3、修改字段名

语法:
alter table 表名 change 旧字段名 新字段名 数据类型;
--修改user_info表的name字段为user_name,数据类型保持不变
alter table user_info change name user_name varchar(64);
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_10

4、添加字段

语法:
alter table 表名 add 字段名 数据类型;
--在user_info表里添加address字段,数据类型为varchar(128)
alter table user_info add address varchar(128);
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_数据库开发_11

5、在指定的列之后添加字段

语法:
alter table 表名 add 字段名 数据类型 after 指定的字段名;
--在user_info表里user_name字段后添加sex字段,数据类型为int(1)
alter table user_info add sex int(1) after user_name;
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_12

6、删除字段

语法:
alter table 表名 drop 字段名;
--删除user_info表里的address字段
alter table user_info drop address;
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_13

7、添加索引

语法:
alter table 表名 add index 索引名(字段名);
--为user_info表里的user_name字段添加名为idx_user_name的索引
alter table user_info add index idx_user_name(user_name);
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_14

8、删除索引

语法:
alter table 表名 drop index 索引名;
--删除user_info表里的user_name字段的索引idx_user_name
 alter table user_info drop index idx_user_name;
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_15

5

删除数据表

MySQL数据库开发进阶:精通数据库表的创建与管理!_adb_16

删除数据表非常简单,但是在操作时一定要小心,会把表里的数据一起删掉,因此需要谨慎操作。

语法:
drop table 表名;
--删除user_info表
 drop table user_info;
  • 1.
  • 2.
  • 3.
  • 4.

MySQL数据库开发进阶:精通数据库表的创建与管理!_数据库_17

MySQL 的数据库表的创建与管理介绍完毕,下一篇《MySQL 数据库开发入门(三)》将为大家进一步介绍 MySQL数据库的入门知识,欢迎关注。