数据定义语言-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 表名;
相关推荐
泡海椒7 分钟前
JQuickExcel 批量导入:用 importDataInBatch 控制大文件消费边界
数据库·oracle
码流子17 分钟前
事件告警延迟拆解:从摄像头到手机通知,延迟卡在哪六个环节
数据库·人工智能·物联网
斯内普吖19 分钟前
(开源)校园充电宝租借管理系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源
andrsted44 分钟前
练题簿在线免费刷题:Excel、CSV 批量导题与章节整理,把现成表格变成日常题库
学习·微信小程序·小程序·刷题·在线刷题
啵啵啵鱼1 小时前
对数据的增删改查
数据库·mysql·ai·idea·ai编程·navicat·obsidian
靠沿1 小时前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
赵渝强老师1 小时前
【赵渝强老师】Oracle的行地址:ROWID
数据库·oracle
重生之高冷汉堡包1 小时前
什么是数据中心代理?原理拆解、类型区别、应用场景与选型指南
服务器·网络·数据库·安全·ip
Mortalbreeze1 小时前
MySQL 基础篇(八):复合查询之多表查询、内外连接、子查询
数据库·mysql
ab1237681 小时前
MQTT笔记
java·笔记·mqtt·学习