【MySQL 学习笔记】DDL和DML语言

SQL的语法大体可以分为四类,分别是DDL、DML、DQL和DCL语句。

DDL:全称为Data Definition Languages,即数据定义语言,用来定义数据库的对象(数据库,表,字段);

DML:全称为Data Manipulation Languages,即数据操作语言,用来对数据库表中的数据进行增删改;

DQL:全称为Data Query Language,即数据查询语言,用来查询数据库中表的记录。

DCL:全称为Data Control Language,即数据控制语言,用来创建数据库用户、控制数据库的访问权限。

本篇笔记主要包括DDL和DML语言的使用。

在介绍DDL和DML语言之前,我们先了解一下MySQL的数据类型。

MySQL中的数据类型可以分为三类:数值类型、字符串类型和日期时间类型。

首先是第一种类型,数值类型:大体分为整型和浮点型。

其中整形包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,字节大小由1依次递增到5;

浮点型包括FLOAT和DOUBLE,字节大小分别是4和8;

其次是字符串类型,主要使用的是char类型和varchar类型,前者是定长字符串,后者是变长字符串。varchar定义的时候可以指定其最大长度,如果实际数据小于其最大长度,那么varchar就会自动调整其长度和数据数据大小一致。

在使用char和varchar后,需要在后面指定其大小,例如char(10)。

字符串类型还有BLOB和TXT类型,BLOB类型用于存储二进制数据,TXT类型则用于存储文本字符串。

最后是日期时间类型,其实质上还是一个字符串。

 日期时间类型主要由5种。

1.DATE,3字节,表示格式为YYYY-MM-DD,即年-月-日。

2.TIME,3字节,表示格式为HH:MM:SS,即时:分:秒。

3.YEAR,1字节,表示格式为 YYYY,表示年份,范围为1901至2155。

4.DATETIME,8字节,表示格式为YYYY-MM-DD HH:MM:SS,即DATE和TIME类型的组合。

5.TIMESTAMP,4字节,表示格式也为YYYY-MM-DD HH:MM:SS,但是范围小。

接下类就正式开始介绍DDL语句了。

DDL语句可以根据操作对象分成两类,第一类是对数据库的操作,第二类是对表的操作。

首先介绍DDL语句对数据库的操作,主要分为四种:查询,创建,删除和使用。

# 查询
-- 查询所有数据库
show databases;
-- 查询当前数据库
select database();

# 创建
create database [数据库名];

# 删除
drop database [数据库名];

# 使用
use [数据库名];

查询所有数据库:

当前计算机的所有数据库就显示出来了。

接下来我们选中系统数据库sys,使用use [数据库名]选择。

出现Database changed就表示我们以及选中/切换了数据库了。

通过select database()这个函数方法可以查询当前数据库的名称。

 接着我们试着创建一个新数据库newdatabase

可以看到newdatabase已经创建完成了。

此时如果再创建同名数据库newdatabase会报错。

原因是newdatabase已经存在了,数据库的名称不能重复。

为了避免这种情况发生,可以再创建数据库时加上一条限制语句 if not exists

没有报错。

接着将这个新建的数据库删除,使用drop语句。 

 newdatabase已经被删除了。

同样,此时再次使用删除语句MySQL就会报错,需要添加一个限制条件if exists

接下来时DDL的表操作语句,包括创建、查询、修改删除

#创建
create table [表名](
    字段1 类型 [comment 注释],
    字段2 类型 [comment 注释],
    字段3 类型 [comment 注释],
    ........
    字段n 类型 [comment 注释]
)[comment 表注释];


# 查询
-- 查询当前数据库的所有表
show tables;

-- 查询表结构
desc [表名];

-- 查询指定表的建表语句
show create table [表名]

#修改
-- 添加字段
alter table [表名] add [字段名] [类型(长度)];

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

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

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

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

#删除
-- 删除表
drop table [表名];

-- 重新创建表
truncate table [表名];


首先使用create table语句创建一个表user

 此时newbase数据库中有了一张表,可以用show tables查询。

 利用desc语句可以查询表的结构。

 最后使用show create table可以查看建表过程。

添加一个字段info

 修改info的数据类型

 修改info的字段名

 修改表名

删除表

最后是DML语言,用来对数据库中表的数据记录进行增删改操作,主要关键字是insert,update和delete.

# 添加数据
-- 给指定字段添加数据
insert into [表名] (字段1,字段2,...) values (值1,值2,...) [,(值1,值2,...)];

-- 给全部字段添加数据
insert into [表名] values (值1,值2,...)[,(值1,值2,...)];

# 修改数据
update [表名] set [字段名1] = [值1],[字段名2] = [值2],... [where 条件];

# 删除数据
delete from [表名] [where 条件]; 

添加数据

 修改数据

 删除数据

猜你喜欢

转载自blog.csdn.net/qq_65021355/article/details/130656091