MySQL数据库基础
- 1. 数据库基础操作
- 1.1 显示当前数据库
- 1.2 创建数据库
- 1.3 使用数据库
- 1.4 删除数据库
- 2. 常用数据类型
- 2.1 数值类型
- 2.2 字符串类型
- 2.3 日期类型
- 3.表的操作
- 3.1 查看表的结构
- 3.2 创建表
- 3.3 删除表
- 4. 常用
1. 数据库基础操作
1.1 显示当前数据库
SHOW DATABASES;
查看数据库内有啥~~
1.2 创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name;
说明:
- 大写的表示关键字
- [] 是可选项, 如果不存在 db_name 数据库, 创建数据库.
实例:
- 创建一个名为 test 的数据库
CREATE DATABASE test;
计算机存储表示中文的时候, 就需要一些专门的字符编码, gbk, utf-8
当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci
- 如果系统没有一个 test 数据库, 创建一个名为 test 的数据库, 如果有就不创建
CREATE DATABASE IF NOT EXISTS test;
- 如果系统没有 test 的数据库,则创建一个使用 utf8mb4 字符集的 test 数据库,如果有则不创建
CREATE DATABASE IF NOT EXISTS test CHARACTER SET utf8mb4;
注意:
MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4.
1.3 使用数据库
use 数据库名;
1.4 删除数据库
DROP DATABASE [IF EXISTS] db_name;
注意: 删除数据库以后, 数据库内部数据和表都删除
2. 常用数据类型
2.1 数值类型
数据类型 | 大小 | 说明 | 对应 Java 类型 |
---|---|---|---|
BIT[ (M) ] | M指定位数,默认为1 | 二进制数,M范围从1到64, 存储数值范围从0到2^M-1 | 常用Boolean对应BIT,此时默认是1位,即只能存0和1 |
TINYINT | 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),表示不取负数。
1字节(bytes)= 8bit。
对于整型类型的范围:
- 有符号范围:-2(类型字节数*8-1)到2(类型字节数*8-1)-1,如int是4字节,就
是-231到231-1 - 无符号范围:0到2(类型字节数*8)-1,如int就是232-1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其
如此,还不如设计时,将int类型提升为bigint类型。
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 |
3.表的操作
需要操作数据库中的表时, 需要先使用该数据库
use test;
3.1 查看表的结构
desc 表名;
3.2 创建表
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
可以使用comment增加字段说明。
实例:
create table test(
id int,
name varchar(20) comment '姓名',
age int,
sex varchar(1));
3.3 删除表
DROP TABLE [IF EXISTS] tbl_name;
实例:
-- 删除 test 表
drop table test;
-- 如果存在 test 表,则删除 test 表
drop table if exists test;
4. 常用
- 操作数据库:
-- 显示
show databases;
-- 创建
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
- 常用数据类型:
数据类型 | 数据类型 |
---|---|
INT | 整型 |
DECIMAL(M, D) | 浮点数类型 |
VARCHAR(SIZE) | 字符串类型 |
TIMESTAMP | 日期类型 |
- 操作表:
-- 查看
show 表;
-- 创建
create table 表名(
字段1 类型1,
字段2 类型2,
...
);
-- 删除
drop talbe 表名;
更多推荐
MySQL数据库基础
发布评论