通常执行对数据库的"增、删、改 、查",简称C(Create)、R(Read)、U(Update)、D(Delete);
6.1.1 查询数据库
- 查看MySQL中所有数据库:R
SHOW DATABASES; --显示当前MySQL中所有的数据库
6.1.2 创建数据库
- 创建自定义数据库:C
create database 数据库名称;
CREATE DATABASE kaka; --创建了名为kaka的数据库
CREATE DATABASE kaka CHARACTER SET gbk;–创建数据库并设置其默认字符集为GBK
CREATE DATABASE IF NOT EXISTS kaka default character set gbk;–如果kaka不存在,则创建并指定字符集,反之,不创建
6.1.3 删除数据库
- 删除数据库:D
drop databse 数据库名称;
DROP DATABASE kaka;–删除kaka数据库
6.1.4 修改数据库
- 修改数据库:U
alter database 数据名字 default character set 字符集;
ALTER DATABASE kaka CHARACTER SET UTF8;–修改数据库的字符集为UTF-8
6.1.5 数据库的其他操作
- 查看数据库创建信息
show create database 数据库名称
SHOW CREATE DATABASE kaka;–查看创建数据库时的基本信息
- 使用数据库
use 数据库名称
USE kaka;–当前环境下,操作kaka数据库
- 查看当前使用的数据库
select database();
SELECT DATABASE();–查看当前使用的数据库
MySQL大致可以分为三类:数值、日期/时间、字符串(字符)类型。对于我们建表,约束列的类型有很大的帮助;
- 数值类型
INT:4个字节、整数值;
DOUBLE(M,D):8个字节、M表示长度,D表示小数位数,受M和D的约束、双精度浮点值;
DECIMAL(M,D):保存精确值 、依赖M和D、小数值;
- 日期类型
DATE:格式(YYYY-MM-DD)日期值
TIME:格式(HH:MM:SS)时间值
YEAR:格式(YYYY)年分值
TIMESTAMP:时间戳,格式(YYYY-MM–DD HH:MM:SS)混合日期时间值
- 字符串类型
CHAR:指定长字符串 CHAR(10) 10个字符
VARCHAR:可变长字符串 VARCHAR(10) 10个字符
BLOB:二进制形式的长文本数据
TEXT:长文本
6.3.1 使用数据库
创建表之前,先去选择给那个一数据库中创建表
- use 数据库名称;
use kaka; --使用kaka数据库
6.3.2 查询该数据库中的表®
- show tables; 查询当前数据库中有多个张表
show tables;–查询当前数据库中有多个张表
6.3.3 表的创建©
- 创建格式:
create table 表名 (
列名 数据类型 [约束],
列名 数据类型 [约束],
…
列名 数据类型 [约束] //最后一列的创建,末尾不需要加逗号
)[charset=utf8]; //根据需要指定表的字符编码集
create table employ(
id int,
name varchar(20),
gender varchar(2),
birthday date,
email varchar(10),
remark varchar(50)
);
6.3.4 查询表的结构
- desc 表名:查询表结构
desc employ;–查询employ表结构
6.3.5 修改表(U)
6.3.5.1 给表中添加一个列字段
- alter table 表名 add 新的列的名称 类型;
alter table employ add age int; --给employ表添加一个int型的年龄列字段
6.3.5.2 修改表中的字段名称
- alter table 表名 change 旧列名 列名 数据类型;
alter table employ change name username varchar(20)NOT NULL; --将employ表中的name改为username
- 改变列名时,在给定新列名的同时,要指定列的数据类型和约束;
6.3.5.3 修改表中的字段类型
- alter table 表名 modify 类名 数据类型;
alter table employ modify email varchar(50) NOT NULL; – 将employ表中的email由varchar(10)改为varchar(50)
- 修改表中的某列时,需要写全列的名字、数据类型、约束;
6.3.5.4 修改表名字
- alter table 原表名 rename to 新表名;
- rename table 原表名 to 新表名;
alter table employ rename to employee; --将employ改为employee
6.3.5.5 删除表中的字段
- alter table 表名 drop 字段名称;
alter table employ drop remark; --删除employ表中的remark字段
6.3.6 删除表(D)
- drop table 表名;
drop table employ --删除employ表
================================================================================
用于对表中的记录进行增、删、改操作;
7.1.1 插入记录
INSERT INTO 表名 (列1,列2,列3…) VALUES(值1,值2,值3…)
- INSERT INTO 表名:表示往哪张表中添加数据
- 列1,列2,列3…:要给哪些字段设置值
- VALUES (值 1, 值 2, …):设置具体的值
–新增一条数据
INSERT INTO employ (id,username,gender,birthday,email,age)
VALUES(1001,‘kaka’,‘m’,‘1999-03-03’,‘213456@qq.com’,23);
–增加两条数据
–多行添加,在值列表外边追加,再写一个值列表
INSERT INTO t_departments(DEPARTMENT_ID,DEPARTMENT_NAME,MANAGER_ID,LOCATION_ID)
VALUES (‘2500’,‘Teach’,‘111’,‘6000’),(‘25000’,‘Teach’,‘111’,‘6000’);
注:
-
表名后的列名列表以及VALUES里的值列表要一一对应(个数、顺序、类型);
-
没有添加数据的字段会使用 NULL;
-
在DOS命令窗口中操作不能写中文,会报错或者是出现乱码;
-
数据的大小应在列的规定范围内;
-
字符和日期型数据应包含在单引号中;
7.1.2 蠕虫赋值
将一张已经存在的表中的数据复制到另一张表中
- INSERT INTO 表 名 1 SELECT * FROM 表 名 2;:将表名 2 中的所有的列复制到表名 1 中