DDL(Data Definition Language)是用于定义和管理数据库结构的语言。它包括数据库操作和表操作两个方面。
查询所有数据库:show databases ;
查询当前数据库:select database() ;
创建数据库:create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序
规则 ] ;
- -- 创建数据库指定字符集
- create database if not extists company
- default character set = utf8mb4
- collate = utf8mb4_general_ci;
删除数据库:drop database [ if exists ] 数据库名 ;
切换数据库:use 数据库名 ;
查看当前数据库所有表:show tables;
查看指定表结构:desc 表名 ;
查看指定表的建表语句:show create table 表名 ;
- create table 表名(
- 字段1 字段1类型 [comment 字段1注释 ],
- 字段2 字段2类型 [comment 字段2注释 ],
- ......
- 字段n 字段n类型 [comment字段n注释 ]
- ) [ comment 表注释 ] ;
-
- -- [...] 内为可选参数,最后一个字段后面没有逗号
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
所有数值类型:
- tinyint :1字节(小整数值)
- smallint :2字节(大)
- mediumint :3字节(大)
- int :4字节(大)
- bigint :8字节(极大)
- float :4字节(单精度浮点)
- double :8字节(双)
- decimal :取决于定义的精度和范围(依赖于M(精度)和D(标度)的值),小数值
常用字符串类型:
- char :固定长度字符串,占用定义的长度(0-255字节)
- varchar :可变长度字符串,占用实际存储的数据长度(0-65535字节)
- text :可变长度文本,(1-65535字节)
char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和
字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性
能会更高些。
时间日期类型
- date :3字节(日期:YYYY-MM-DD)
- time :3字节(时间:HH:MM:SS)
- datetime :8字节(混合时间和日期)
- timestamp :4字节(混合)
添加字段:alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ];
修改数据类型:alter table 表名 modify 字段名 新数据类型 (长度);
修改字段名和字段类型:
alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ] [ 约束 ];
删除字段:alter table 表名 drop 字段名;
修改表名:alter table 表名 rename to 新表名;
drop table [ if exists ] 表名;
truncate table 表名;
二者区别:
- truncate 用于删除表中的数据,但保留表的结构,速度比DELETE快。
- drop 用于完全删除表,包括结构、数据和相关对象。
上一篇:SQL - 四大分类(DDL、DML、DQL、DCL)详细介绍
下一篇:MySQL - DML数据增删改