千家信息网

MySQL结构化查询语言有哪些

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"MySQL结构化查询语言有哪些",在日常操作中,相信很多人在MySQL结构化查询语言有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL结构
千家信息网最后更新 2026年11月04日MySQL结构化查询语言有哪些

这篇文章主要介绍"MySQL结构化查询语言有哪些",在日常操作中,相信很多人在MySQL结构化查询语言有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL结构化查询语言有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


SQL的概述

Structured Query Language 结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

各种主流的数据库系统都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用,但大部分是相同的,后面我们学习的是MySQL的版本,掌握SQL主要语法之后,要迁移到其它数据库也是比较容易的。

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):

其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL):

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):

它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

本章我们主要介绍的是DDL和DML。

MySQL数据库的操作

创建数据库的基本语法是:

create database 数据库名;

还可以给数据库指定默认的字符集以及排序规则:

create database 数据库名

default character set 字符集 collate 排序规则;

选择数据库

use 数据库名;

修改数据库的字符集和排序规则:

alter database 数据库名

default character set 字符集 collate 排序规则;

删除数据库:

drop database 数据库名;

删除时检查数据库是否存在:

drop database if exists 数据库名;

代码示例:

1.-- 删除数据库

2.drop database if exists java1903;

3.-- 创建数据库

4.create database java1903

5.default character set utf8mb4

6.collate utf8mb4_general_ci;

7.-- 使用数据库

8.use java1903;

MySQL常见的数据类型

创建好数据库后,我们就需要建表,建表我们需要设置字段的数据类型,我们先来了解MySQL中常见的数据类型。

类型名称

说明

存储需求

TINYINT

很小的整数

1个字节

SMALLINT

小的整数

2个宇节

MEDIUMINT

中等大小的整数

3个字节

INT (INTEGHR)

普通大小的整数

4个字节

BIGINT

大整数

8个字节

2)小数类型

类型名称

说明

存储需求

FLOAT

单精度浮点数

4 个字节

DOUBLE

双精度浮点数

8 个字节

DECIMAL (M, D),DEC

压缩的"严格"定点数

M+2 个字节

3) 日期/时间类型

类型名称

日期格式

日期范围

存储需求

YEAR

YYYY

1901 ~ 2155

1 个字节

TIME

HH:MM:SS

-838:59:59 ~ 838:59:59

3 个字节

DATE

YYYY-MM-DD

1000-01-01 ~ 9999-12-3

3 个字节

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

8 个字节

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC

4 个字节

3) 字符串类型

类型名称

说明

存储需求

CHAR(M)

固定长度非二进制字符串

M 字节,1<=M<=255

VARCHAR(M)

变长非二进制字符串

L+1字节,在此,L< = M和 1<=M<=255

TINYTEXT

非常小的非二进制字符串

L+1字节,在此,L<2^8

TEXT

小的非二进制字符串

L+2字节,在此,L<2^16

MEDIUMTEXT

中等大小的非二进制字符串

L+3字节,在此,L<2^24

LONGTEXT

大的非二进制字符串

L+4字节,在此,L<2^32

ENUM

枚举类型,只能有一个枚举字符串值

1或2个字节,取决于枚举值的数目 (最大值为65535)

SET

一个设置,字符串对象可以有零个或 多个SET成员

1、2、3、4或8个字节,取决于集合 成员的数量(最多64个成员)

4) 二进制类型

类型名称

说明

存储需求

BIT(M)

位字段类型

大约 (M+7)/8 字节

BINARY(M)

固定长度二进制字符串

M 字节

VARBINARY (M)

可变长度二进制字符串

M+1 字节

TINYBLOB (M)

非常小的BLOB

L+1 字节,在此,L<2^8

BLOB (M)

小 BLOB

L+2 字节,在此,L<2^16

MEDIUMBLOB (M)

中等大小的BLOB

L+3 字节,在此,L<2^24

LONGBLOB (M)

非常大的BLOB

L+4 字节,在此,L<2^32

表的操作

创建表:

create table 表名

(

字段名 数据类型 [约束],

字段名 数据类型 [约束],

....

)

主要的约束类型有:

primary key 主键,表中只能有一个,不能重复,不能为空

not null 非空,必须填写

unique 唯一,不能重复

auto_increment 自动增长,必须是整数类型,不需要手动插入

foreign key 外键,建立表之间的引用关系

删除表:

drop table 表名;

删除表时进行检查:

drop table if exists 表名;

修改表,添加字段:

alter table 表名 add column 字段名 数据类型;

修改表,删除字段:

alter table 表名 drop column 字段名;

查看表结构:

desc 表名;

代码示例:

9.-- 删除表

10.drop table if exists tb_student;

11.-- 创建学生表

12.create table tb_student

13.(

14. stu_id int primary key auto_increment,

15. stu_name varchar(20) not null,

16. stu_age int not null,

17. stu_gender varchar(1) not null,

18. stu_address varchar(200)

19.);

数据操作语言DML

数据操作语言有插入、删除和更新语句组成。

单行插入:

insert into 表名(字段名,字段名,字段名..) values(值,值,值..);

多行插入

insert into 表名(字段名,字段名,字段名..)

values(值,值,值..),(值,值,值..),(值,值,值..);

将一张表数据插入另一张表

insert into 表1(字段名,字段名,字段名..)

select 字段名,字段名,字段名 from 表2;

删除所有数据

delete from 表名;

清空表

truncate table 表名;

带条件的删除

delete from 表名 [where 条件];

更新

update 表名 set 字段 = 值,字段 = 值... [where 条件];

代码示例:

20.-- 插入一行学生记录

21.insert into tb_student(stu_name,stu_age,stu_gender,stu_address)

22.values('赵六',30,'男','上海');

23.-- 插入多行学生

24.insert into tb_student(stu_name,stu_age,stu_gender,stu_address)

25.values('陈七',20,'男','武汉'),('陈大七',28,'男','上海'),('陈小七',18,'男','北京');

26.-- 删除学号为3的学生

27.delete from tb_student where stu_id = 3;

28.-- 全部删除

29.delete from tb_student;

30.-- 清空表

31.truncate table tb_student;

32.-- 更新陈七的年龄为23,性别为女

33.update tb_student set stu_age = 23,stu_gender = '女'

34.where stu_name = '陈七';

到此,关于"MySQL结构化查询语言有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 字节 数据库 字段 类型 语言 字符 查询 字符串 语句 二进制 结构 结构化 整数 名称 需求 存储 学习 更新 大小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司起名 江苏根荣互联网科技 腾讯阿里互联网科技 智慧科技互联网 汉立互联网科技有限公司联系电话 互联网教育科技公司vipkid 字节跳动和互联网科技 湖北码尼互联网科技有限公司电话 赶超互联网科技 微信多开 互联网科技与大数据专业 中和天地互联网科技有限公司 山东有哪些互联网科技公司 国大互联网教育科技有限公司薪资 广东工业互联网大赛深圳学泰科技 广州富喜互联网络科技 江苏互联网智能科技软件 银川新华互联网科技学校原画 米泉互联网科技专业怎么样 好易买互联网科技 优雇互联网科技有限公司 互联网络科技 互联网科技行业发展 西安互联网科技公司 岳阳华臻互联网科技有限公司 华中科技大学互联网的牛人 山东星卡互联网科技有限公司官网 美国互联网科技公司 江苏互联网智能科技软件 艺电能源互联网科技有限公司招聘 保山浩联互联网科技有限公司
0