当前位置: 首页 > news >正文

【数据库 | 基础】DDL语句以及数据类型

文章目录

DDL—数据库操作

查询

创建

删除

使用

DDL—表操作—创建

查询

创建

MySQL中的数据类型

小案例

DDL—表操作—修改(结构)

添加字段

修改字段

删除字段

修改表名

删除


        数据库DDL(Data Definition Language)是用于定义和管理数据库结构的语言,包含创建、修改、删除数据库等核心操作。

DDL—数据库操作

查询

查询所有数据库

SHOW DATABASES;-- :列出当前数据库服务器中所有可用的数据库名称。

查询当前数据库

SELECT DATABASE(); -- 返回当前会话正在使用的数据库名称(即当前默认数据库)。

创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET  字符集] [COLLATE 排序规则];

部分说明
CREATE DATABASE创建一个新数据库
IF NOT EXISTS可选。如果数据库已存在,不报错,直接跳过。强烈建议加上,避免重复执行时报错。
数据库名要创建的数据库名称(如 my_shopblog_db)。建议使用字母、数字、下划线,避免特殊字符或中文。
DEFAULT CHARACTER 字符集指定默认字符集,例如 utf8mb4(推荐)
COLLATE指定排序规则,例如 utf8mb4_unicode_ci 或 utf8mb4_general_ci

删除

DROP DATABASE [IF EXISTS] 数据库名;

IF EXISTS如果数据库不存在,加上IF EXISTS不报错。否则报错。

使用

USE  数据库名;-- 数据库服务器中有多个数据库,选中当前操纵的数据库

DDL—表操作—创建

查询

查询当前数据库所有表

SHOW TABLES;-- 解释:查询当前数据库所有表。

查询表结构

DESC(DESCRIBE) 表名; 

查询指定表的创建语句

SHOW CREATE TABLE 表名;

创建

CREATE TABLE 表名(
  字段1 字段1类型 [COMMENT 字段1注释],
  字段2 字段2类型 [COMMENT 字段1注释],
  字段3 字段3类型 [COMMENT 字段1注释],
  ...
  字段n 字段n类型 [COMMENT 字段1注释]
)[COMMENT 表注释];

注意:[....]为可选择参数,最后一个字段后面不要加逗号。

MySQL中的数据类型

MySQL中的数据库类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
数值类型

类型字节数有符号(Signed)范围无符号(Unsigned)范围描述

TINYINT

1

2^{7} ~ 2^{7}−1

0 ~ 2^{8}−1

小整数值

SMALLINT

2

2^{15} ~ 2^{15}−1

0 ~ 2^{16}−1

小整数值

MEDIUMINT

3

2^{23}~ 2^{23}−1

0 ~ 2^{24}−1

大整数值

INT或INTEGER

4

2^{31} ~ 2^{31}−1

0 ~ 2^{32}−1

大整数值

BIGINT

8

2^{63} ~ 2^{63}−1

0 ~ 2^{64}−1

极大整数值

FLOAT

4

(-3.402823466E+38~3.402823466351E+38)

0 和 (1.175494351E~ 38~3.402823466E+38)

单精度浮点值

DOUBLE

8

±1.7976931348623157E±308

0和(2.2250738585072014 E-308~1.7976931348623157 E + 308)

双精度浮点值

DECTMAT

依赖于M(精度)和D(标度)的值

依赖于M(精度)D(标度)的值

小数值(精确认点数)

字符串类型

类型名称最大大小(字节)描述
CHAR(M)M的范围:0~255字节定长字符串。性能高
VARCHAR(M)M的范围:0~65535变长字符串,性能较差,需要根据内容来计算所占的空间
TINYBLOB0~255 字节不超过255个字符的二进制
TINYTEXT0~255 字节短文本字符串
BLOB0~65,535 字节二进制形式的长文本数据
TEXT0~65,535 字节长文本数据
MEDIUMBLOB0~16,777,215 字节二进制形式的中等长度文本数据
MEDIUMTEXT0~16,777,215 字节中等长度文本数据
LONGBLOB0~4,294,967,295 字节二进制形式的极大文本数据
LONGTEXT0~4,294,967,295 字节极大文本数据

日期时间类型

类型名称大小(字节)范围格式描述
DATE3'1000-01-01' 到 '9999-12-31'YYYY-MM-DD仅存储日期,不包含时间部分。
TIME3'-838:59:59' 到 '838:59:59'HH:MM:SS 或 -HH:MM:SS日期值或持续时间
YEAR11901 到 2155YYYY(四位)仅存储年份
DATETIME8'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'YYYY-MM-DD HH:MM:SS混合日期和时间
TIMESTAMP4'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTCYYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳

小案例

create table emp(id int COMMENT '编号',workno VARCHAR(10) COMMENT '工号',name VARCHAR(10) COMMENT'姓名',gender char(1) COMMENT '性别',age TINYINT UNSIGNED COMMENT '年龄', -- 无符号整数idcard char(18) COMMENT '身份证号',entrydata date COMMENT '入职年龄'
)COMMENT '员工表';desc emp; -- 查看表结构 

DDL—表操作—修改(结构)

添加字段

ALTER  TABLE  表名 ADD 字段名 类型(长度)  [COMMENT 注释][约束];

例子:为emp表增加一个新字段“昵称”为nickname,类型为varchar(20)

ALTER table emp ADD nickname VARCHAR(20) COMMENT '昵称';
desc emp; -- 查看表结构 

修改字段

修改数据类型

ALTER TABLE 表名  MODIFY 字段名  新数据类型(长度);

修改字段名和字段类型

ALTER  TABLE  表名 CHANGE 旧字段名  新字段名  类型(长度)[COMMENT 注释][约束];

例子:将emp表的nichname 字段修改username, 类型为varchar(30);

ALTER table emp CHANGE nickname username VARCHAR(30);
desc emp; -- 查看表结构 

删除字段

ALTER TABLE 表名 DROP 字段名;

例子:将emp表的字段username 删除

ALTER table emp drop username;
desc emp; -- 查看表结构 

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

例子:将emp表的表名修改为employee.


ALTER TABLE emp RENAME TO employee;
desc employee;

删除

删除表

DROP TABLE [IF  EXISTS] 表名;

删除指定表,并创建创建该表

TRUNCATE TABLE 表名;

注意:在删除表时,表中的全部数据也会被删除。

http://www.dtcms.com/a/589270.html

相关文章:

  • 视觉元素网站浙江建设职业技术学院迎新网站
  • 正规网站建设费用做网站阳泉
  • Java I/O 流详解:字符流与字节流的完整指南
  • STM32外设学习-ADC模数转换器(代码部分)四个模块,光敏,热敏,电位,反射式红外。
  • 公众号开发网站购物网站开发介绍
  • 结构型设计模式2
  • 怎么做ppt教程网站灰色项目源码
  • 蛋白质内在无序区域(IDR)预测benchmark
  • 【TIDE DIARY 7】临床指南转公众版系统升级详解
  • STM32百问百答:从硬件到软件全面解析
  • MyBatis-Plus 框架设计模式全景解析
  • 创建型设计模式1
  • AI大数据在医疗健康中的应用与发展趋势
  • 网站规划与开发实训室建设方案个人如何做微商城网站
  • 标准 Python 项目结构
  • 【开发者导航】面向快速模型演示与轻量交互开发的可视化工具:Gradio
  • Vue 项目实战《尚医通》,首页常见科室静态搭建,笔记16
  • 东莞热的建设网站网页视频怎么下载到电脑上
  • 区块链论文速读 CCF A--USENIX Security 2025(4)
  • PHM数据集轴承寿命预测!Transformer-GRU轴承寿命预测MATLAB代码实现
  • 网站错误代码301建设网站如何给页面命名
  • FreeRTOS 学习:(十六)可调用 FromISR 相关 API 函数的中断优先级范围
  • 织梦网站修改使用教程郑州高端网站建设怎么样
  • GPU集群poc测试
  • 操作系统(12)进程描述与控制--进程概述(2)
  • 数据库库、表的创建及处理
  • 空间矢量脉宽调制(Space Vector Pulse Width Modulation)SVPWM基础
  • 链接的迷雾:odr、弱符号与静态库的三国杀
  • Vite + React 项目启动深度踩坑指南
  • 回收网站建设短网址生成器免费