数据定义语言-DDL操作

数据库操作

主要是对表和数据库的一些操作而非对里面数据的操作

mysql 复制代码
-- 创建数据库(加上括号中的内容可以避免重复创建而报错)
create database [if not exists] base_name [default 字符集] [collate 排序规则];

-- 展示现在所有的数据库
show databases;

-- 查询当前数据库,可以看当前在哪个数据库
select databases();

-- 删除数据库
drop database [if exists] 数据库名;

-- 使用(切换到该数据库)
use 数据库名;

表操作-创建&查询

查询

mysql 复制代码
-- 展示当前数据库中所有表
show tables;

-- 查看表结构
desc 表名;

-- 查询指定表的详细信息
show create table 表名;

创建

mysql 复制代码
create table 表名(
    字段1 字段1类型[comment 字段1注释]
)
create table tb_user(
    -> id int comment '编号',
    -> name varchar(50) comment '姓名',
    -> age int comment '年龄',
    -> gender varchar(1) comment '性别'
    -> )comment '用户表';

数据类型

数字类型

分类 类型 大小 有符号 (SIGNED) 范围 无符号 (UNSIGNED) 范围 描述
数值类型 TINYINT 1 byte −27∼27−1-2^7 \sim 2^7-1−27∼27−1 0∼28−10 \sim 2^8-10∼28−1 小整数值
SMALLINT 2 bytes −215∼215−1-2^{15} \sim 2^{15}-1−215∼215−1 0∼216−10 \sim 2^{16}-10∼216−1 大整数值
MEDIUMINT 3 bytes −223∼223−1-2^{23} \sim 2^{23}-1−223∼223−1 0∼224−10 \sim 2^{24}-10∼224−1 大整数值
INT 或 INTEGER 4 bytes −231∼231−1-2^{31} \sim 2^{31}-1−231∼231−1 0∼232−10 \sim 2^{32}-10∼232−1 大整数值
BIGINT 8 bytes −263∼263−1-2^{63} \sim 2^{63}-1−263∼263−1 0∼264−10 \sim 2^{64}-10∼264−1 极大整数值
FLOAT 4 bytes −2128∼2128-2^{128} \sim 2^{128}−2128∼2128(近似) 000 和 2−149∼21282^{-149} \sim 2^{128}2−149∼2128(近似) 单精度浮点数值
DOUBLE 8 bytes −21024∼21024-2^{1024} \sim 2^{1024}−21024∼21024(近似) 000 和 2−1074∼210242^{-1074} \sim 2^{1024}2−1074∼21024(近似) 双精度浮点数值
DECIMAL 依赖于 M (精度) 和 D (标度) 的值 依赖于 M (精度) 和 D (标度) 的值 依赖于 M (精度) 和 D (标度) 的值 精确定点小数

字符串类型

分类 类型 大小(2的幂次形式) 描述
字符串类型 CHAR 0∼28−10 \sim 2^8-10∼28−1 bytes 定长字符串
VARCHAR 0∼216−10 \sim 2^{16}-10∼216−1 bytes 变长字符串 性能比char差
TINYBLOB 0∼28−10 \sim 2^8-10∼28−1 bytes 不超过255个字符的二进制数据
TINYTEXT 0∼28−10 \sim 2^8-10∼28−1 bytes 短文本字符串
BLOB 0∼216−10 \sim 2^{16}-10∼216−1 bytes 二进制形式的长文本数据
TEXT 0∼216−10 \sim 2^{16}-10∼216−1 bytes 长文本数据
MEDIUMBLOB 0∼224−10 \sim 2^{24}-10∼224−1 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0∼224−10 \sim 2^{24}-10∼224−1 bytes 中等长度文本数据
LONGBLOB 0∼232−10 \sim 2^{32}-10∼232−1 bytes 二进制形式的极大文本数据
LONGTEXT 0∼232−10 \sim 2^{32}-10∼232−1 bytes 极大文本数据

日期格式

分类 类型 大小 范围 格式 描述
日期类型 DATE 3 1000-01-01 至 9999-12-31 YYYY-MM-DD 日期值
TIME 3 -838:59:59 至 838:59:59 HH:MM:SS 时间值或持续时间
YEAR 1 1901 至 2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00 至 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 1970-01-01 00:00:01 至 2038-01-19 03:14:07 YYYY-MM-DD HH:MM:SS 混合日期和时间值,时间戳

修改操作

mysql 复制代码
-- 添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
alter table emp add nickname varchar(20) [comment '昵称']

-- 修改数据类型
alter table 表名 modify 字段名 新数据类型(长度)

-- 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释] [约束];

-- 删除字段
alter table 表名 drop 字段名;

-- 修改表名
alter table 表名 rename to 新表名;

-- 删除表
drop table [if exists] 表名;

-- 删除指定表并重新创建该表
truncate table 表名;
相关推荐
阿kun要赚马内18 分钟前
MySQL 索引基础
后端·mysql
2601_963282772 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo2 小时前
SQLite数据库
数据库·sqlite
2601_962177132 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql
云贝教育-郑老师2 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
骐骥14 小时前
学习:javaScriptProxy和registerJavaScriptProxy有什么区别,能注册多少个对象
学习·鸿蒙
Huathy-雨落江南,浮生若梦4 小时前
Caddy 学习笔记 - 反向代理与 IP 封禁
笔记·学习·tcp/ip
这个DBA有点耶4 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba