据库的创建与删除,数据表的创建与管理
一、MySQL 环境变量配置
为了方便在 CMD 命令行工具操作,我们配置一下 MySQL 的环境变量。
点击此电脑-->属性-->高级系统设置-->环境变量--->在系统变量里面点击新建系统变量,如下:
把新建的 mysql 变量添加到 Path 路径变量中,添加以下的内容,点击确定即可。
%mysql%\bin
环境变量配置好之后,就不需要进入到C:\devProgram\mysql\bin 目录下,才能执行 MySQL 命令,可以直接打开 CMD 登录 MySQL 进行使用。
二.数据库的创建与删除
1、数据库的创建
数据库安装好之后,MySQL 默认的数据库有 4 个,我们一般用不到。在我们使用时,需要创建自己的数据库,也是使用 MySQL 数据库的前提。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
在登录 MySQL 服务后,使用 create 命令创建数据库,语法如下:
CREATE DATABASE 数据库名称;
--创建testdb数据库
create database testdb;
数据库创建之后,我们可以使用如下命令查看数据库的定义:
show create database testdb;
mysql> show create database testdb;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| testdb | CREATE DATABASE testdb
/!40100 DEFAULT CHARACTER SET utf8 / |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)
2、数据库的删除
使用 drop 命令删除数据库
drop database 数据库名称;
--创建testdb数据库
drop database testdb;
在使用 drop 命令删除数据库过程时,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失,包括数据库下面创建的表,而且没有确认过程。
三、创建数据表
在数据库中,数据表是重要的操作对象,是存储数据的基本单位。数据表是按照行和列来存储的,每行代码一条记录,每列代表一个属性。
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)
);
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)
可以使用 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)
四、修改数据表
表创建之后,如果想要修改数据表,我们可以使用 alter table 命令来修改。
1、修改表名
语法:
alter table 旧表名 rename 新表名;
--把user表改名为user_info
alter table user rename user_info;
2、修改字段的数据类型
语法:
alter table 表名 modify 字段名 字段类型;
--把user_info表的name字段的数据类型调整为varchar(64)
alter table user_info modify name varchar(64);
3、修改字段名
语法:
alter table 表名 change 旧字段名 新字段名 数据类型;
--修改user_info表的name字段为user_name,数据类型保持不变
alter table user_info change name user_name varchar(64);
4、添加字段
语法:
alter table 表名 add 字段名 数据类型;
--在user_info表里添加address字段,数据类型为varchar(128)
alter table user_info add address varchar(128);
5、在指定的列之后添加字段
语法:
alter table 表名 add 字段名 数据类型 after 指定的字段名;
--在user_info表里user_name字段后添加sex字段,数据类型为int(1)
alter table user_info add sex int(1) after user_name;
6、删除字段
语法:
alter table 表名 drop 字段名;
--删除user_info表里的address字段
alter table user_info drop address;
7、添加索引
语法:
alter table 表名 add index 索引名(字段名);
--为user_info表里的user_name字段添加名为idx_user_name的索引
alter table user_info add index idx_user_name(user_name);
8、删除索引
语法:
alter table 表名 drop index 索引名;
--删除user_info表里的user_name字段的索引idx_user_name
alter table user_info drop index idx_user_name;
五、删除数据表
删除数据表非常简单,但是在操作时一定要小心,会把表里的数据一起删掉,因此需要谨慎操作。
语法:
drop table 表名;
--删除user_info表
drop table user_info;