目录
前言
在MySQL数据库中是不区分大小写的,后面的书写建议都以小写书写。数据库的格式为代码+;
接下来正式进入MySQL数据库的学习!
一、数据库的操作
1.1 显示当前的数据库
查看当前MySQL数据库中的所有数据库
show databases;
1.2 创建数据库
创造一个简单数据库
create database db_name; 其中db_name是数据的库的名字可以自定义
当我们有了一个数据库以后再去创建同一个数据库这里就会报错,然后就引出了下面的解决方法
当我们不确定是否存在时,如果系统没有 test1的数据库,则创建一个名叫 test1 的数据库,如果有则不创建
create database if not exists test1; 其中test1为数据库名可以自定义
当这个数据库存在时,会弹出一个警告,我们查看警告可以发现MySQL提醒test1数据库已经存在
有时候在使用数据库的过程中可能会遇到乱码的情况,所以我们在建立数据库的过程中最好将编码方式添加上。
create database if not exists db_test character set utf8mb4;
说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是
使用utf8mb4,建议大家都使用utf8mb4。
1.3 使用数据库
use 数据库名;
1.4 删除数据库
drop database db_name; 其中db_name表示的是数据库的名字
数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。所以说数据库的删除时很危险的操作!!!
二、常用数据类型
2.1 数值类型:
分为整型和浮点型:
数据类型 | 大小 | 说明 | |
BIT[ (M) ] | M指定位 数,默认 为1 | 二进制数,M范围从1到64, 存储数值范围从0到2^M-1 | |
TINYINT | 1字节 | ||
SMALLINT | 2字节 | ||
INT | 4字节 | ||
BIGINT | 8字节 | ||
FLOAT(M, D) | 4字节 | 单精度,M指定长度,D指定 小数位数。会发生精度丢失 | |
DOUBLE(M, D) | 8字节 | ||
DECIMAL(M, D) | M/D最大 值+2 | 双精度,M指定长度,D表示 小数点位数。精确数值 | |
NUMERIC(M, D) | M/D最大 值+2 | 和DECIMAL一样 |
2.2 字符串类型
数据类型 | 大小 | 说明 | 对应java类型 |
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
TEXT | 0-65,535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
2.3 日期类型
数据类型 | 大 小 | 说明 | 对应java类型 |
DATETIME | 8 字 节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4 字 节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
三、表的操作
需要操作数据库中的表时,需要先使用该数据库:
use db_test;
3.1 查看表及表结构
查看当前数据库中所有的表
show tables; 与查看所有数据库的操作类似
查看表的具体结构
desc 表名;
实例:
3.2 创建表
语法:
create table table_name (--table_name为自定义的表名
field1 datatype, --datatype为数据类型 field1为自定义的字段名
field2 datatype,
field3 datatype
);
可以使用comment增加字段说明:
create table stu_test (
id int,
name varchar(20) comment '姓名',
password varchar(50) comment '密码',
age int,
sex varchar(1),
birthday timestamp,
amout decimal(13,2),
resume text
);
3.4删除表
drop table tb_name; 其中tb_name表示的是表名
四、练习
有一个商店的数据,记录客户及购物情况,有以下三个表组成,建立相关的表。
- 商品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.先建立数据库,然后再去建表