MySQL DDL数据定义(数据库,表,字段操作)

基本概念

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数据增删改

你可能感兴趣的:(MySQL数据库,数据库,mysql)