前言
本文章主要讲解:
(1)数据库的操作:创建数据库、删除数据库
(2)常用数据类型
(3)表的操作:创建表、删除表
数据库的操作
1.显示当前数据库
SHOW DATABASES;
2.创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则
示例:
- 创建为student的数据库
CREATE DATABASE student;
- 如果系统没有student的数据库,则创建一个名叫student 的数据库,如果有则不创建。
CREATE DATABASE STUDENT IF NOT EXISTS student;
- 如果系统没有student的数据库,则创建一个使用utf8mb4字符集的student数据库,如果有则 不创建
CREATE DATABASE STUDENT IF NOT EXISTS student CHARACTER SET utf8mb4;
因为MySQL的编码不是真正的utf8,没有包含复杂的中文字符。
3.使用数据库
use 数据库名;
4.删除数据库
语法:
DROP DATABASE [IF EXISTS] student;
说明:
- 数据库删除以后,内部看不到对应的数据库,里面的表和数据全部被删除
drop database if exists student;
常用数据类型
1.数值类型
整数和浮点型:
数据类型 | 大小 | 说明 |
BIM[(M)] | M指定位数,默认为1 | 二进制数,M范围从1-64 |
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表示小数点位数 |
NOMERIC(M,D) | M/D最大值+2 | 和DECIMAL一样 |
2.字符串类型
数据类型 | 大小 | 说明 |
VARCHAR(SIZE) | 0-65535字节 | 可变长度字符串 |
TEXT | 0-65535字节 | 长文本数据 |
MEDIUMTEXT | 0-16777215字节 | 中等长度文本数据 |
BLOB | 0-65535字节 | 二进制形式的长文本数据 |
3.日期类型
数据类型 | 大小 |
DATETIME | 8字节 |
TIMESTAMP | 4字节 |
表的操作
需要操作数据库中的表时,需要先使用该数据库;
use student;
1.查看表结构
desc 表名;
2.创建表
语法:
CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype );
示例:
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.删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name[,tbl_name] ..
示例:
drop table stu_test; --如果存在stu_test表,删除stu_test表 drop table if exists stu_test;
总结
- 操作数据库:
-- 显示 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 表名;