目录
1.前置介绍
2.数据库操作
2.1显示当前数据库
2.2创建数据库
2.3 使用数据库
2.4 删除数据库
3.常用数据类型
3.1整型和浮点型
3.2字符串类型
4.表的操作
4.1查看表结构
4.2创建表
4.3删除表
5.重点
5.1操作数据库
5.2常用数据类型
5.3操作表
1.前置介绍
MySQL是一种客户端-服务器程序。我们在客户端写的SQL语句会上传到服务器上保存。它的里面可以存database数据库,而每个database里面可以有多张表。我们可以在表里面存入我们想要的数据,这种表有点类似于EXCEL表格一样,有行和列。它的底层是B+树。
2.数据库操作
2.1显示当前数据库
show databases;
2.2创建数据库
create database test1; 如果没有指定字符集,那就默认是utf-8的字符集。
create database if not exists test2; 如果没有test2的数据库就创建,有的话就不创建。
create database if not exists test3 set utf8mb4; 如果没有test3的数据库就创建utf8mb4的字符集,有的话就不创建。
说明:MySQL的utf8编码不是真正的utf8,如果想要创建真正的,是utf8mp4;
2.3 使用数据库
use 数据库名字
2.4 删除数据库
drop database 数据库名字
drop database [if exists] 数据库名字; [if exists]是一个可选SQL语句,表示如果数据库有的话会被删除,如果没有的话也不会出现错误。
3.常用数据类型
3.1整型和浮点型
数据类型 | 大小 | 说明 | 对应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 | 和DECIMAL一样 | BigDecimal |
数值类型可以指定为无符号(unsigned),表示不取负数。
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.表的操作
4.1查看表结构
desc 表名
4.2创建表
例子:创建一个 带id ,姓名,生日,金额的表
create table test(id int ,name varchar(20) coment '姓名',birthday datetime,amout decimal(5,2);
4.3删除表
drop table 表名;
drop table if exists test; 如果存在test则删除
5.重点
5.1操作数据库
显示 :show databases;
创建: create database 数据库名;
使用:use 数据库名;
删除:drop database 数据库名;
5.2常用数据类型
int 整型
decimal(m,d)浮点型
varchar(20) 字符串类型
timestamp;日期类型 datetime
5.3操作表
查看 show tables;
创建 create table (id int,name varchar(20) comment '姓名',ammout decimal(5,2), birthday timestamp );
删除 drop table 表名;