目录
1.前言
在如今大数据的时代,数据就显得非常重要。今天开始我们将学习MySQL数据库的知识,掌握数据库的基本操作,让我们一起到MySQL数据库的知识海洋里遨游吧!
2.数据库的操作
2.1显示当前的数据库
SHOW DATABASES;
2.2创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
- 大写的表示关键字
- [] 是可选项
- CHARACTER SET: 指定数据库采用的字符集
- CHARACTER_SET: 指定数据库采用的字符集
下面我们举个例子,创建名为test的数据库:
CREATE DATABASE test;
注意:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_general_ci。
在创建test数据库时,会在系统中进行查找,如果系统没有test 的数据库,则创建一个名叫test的数据库,如果有则不创建。
CREATE DATABASE IF NOT EXISTS test;
我们创建好数据库后,可以使用show databases; 进行查看。
如果系统没有test1的数据库,则创建一个使用utf8mb4字符集的test1数据库,如果有则不创建。
CREATE DATABASE IF NOT EXISTS test1 CHARSET SET utf8mb4;
Tips:
MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4。
2.3使用数据库
use 数据库名;
2.4删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
使用 DROP DATABASE IF EXISTS test; 后,我们可以查看数据库,发现我们之前创建的test数据库没有了,就说明删除test数据库成功。
注意:数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
3.常用数据类型
3.1数值类型
MySQL数据库中的数值类型可分为分为整型和浮点型。
数据类型 | 大小 | 说明 | 对应java类型 |
BIT[ (M) ] | M指定位 数,默认为1 | 二进制数,M范围从1到64, 存储数值范围从0到2^M-1 | 常用Boolean对应BIT,此时 默认是1位,即只能存0和1 |
TINYINT | 1字节 |
Byte
| |
SMALLINT | 2字节 | Short | |
INT | 4字节 | Integer | |
BIGINT | 8字节 | Long | |
FLOAT(M, D) | 4字节 | 单精度,M指定长度,D指定 小数位数。会发生精度丢失 | Float |
DOUBLE(M, D) | 8字节 | Double | |
DECIMAL(M, D) | M/D最大值+2 | 双精度,M指定长度,D表示 小数点位数。精确数值 | BigDecimal |
NUMERIC(M, D) | M/D最大值+2 | 双精度,M指定长度,D表示 小数点位数。精确数值 | BigDecimal |
3.2字符串类
数据类型 | 大小 | 说明 | 对应java类型 |
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
TEXT | 0-65,535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
3.3日期类型
数据类型 | 大小 | 说明 | 对应java类型 |
DATETIME | 8字节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4字节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
4.表的操作
需要操作数据库中的表时,需要先使用该数据库:
USE 数据库名;
4.1查看表结构
desc 表名;
4.2创建表
CREATE TABLE 表名 (
field1 datatype,
field1 datatype,
field1 datatype
);
给大家举个例子,在test数据库中创建user表,并查看表的结构。
注意:可以使用comment增加字段说明。
![](https://i-blog.csdnimg.cn/direct/325b3d0dbb3446859f9048b9dee06735.png)
4.3删除表
DROP TABLE [IF EXISTS] 表名;
比如我们删除刚才创建的student表,如下所示:
当我们把student表删除后,使用desc student; 查看不到student表的结果,说明student删除成功。
5.牛刀小试
有一个商店的数据,记录客户及购物情况,有以下三个表组成:
- 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供,应商provider)
- 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证 card_id)
- 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
1.创建和使用数据库
-- 创建test1数据库
create database if not exists test1 character set utf8mb4;
-- 使用test1数据库
use test1;
2. 创建商品表
-- 创建商品表
create table if not exists goods(
goods_id int,
goods_name varchar(5),
unitprice int,
category varchar(10),
prpvider varchar(10)
);
3. 创建客户表
-- 创建客户表
create table if not exists customer(
customer_id int,
customer_name varchar(10),
address varchar(20),
email varchar(20),
gender varchar(3),
card_id varchar(19)
);
4.创建购买表
-- 创建购买表
create table purchase(
order_id int,
customer_id varchar(20),
goods_id varchar(10),
nums int
);
6.总结
通过上面的学习,使我们对MySQL数据库有了初步了解,创建数据库、删除数据库、创建表、删除表是本次的重点,我们要把这些基础知识掌握好,有助于我们后面进一步深入地学习。