必备 MySQL 数据库(关系型数据库管理系统)三

5 篇文章 0 订阅
3 篇文章 0 订阅

SQL 基本语法

学习sql语句和mysql基本数据类型,学习掌握数据插入,修改,删除的 sql 语句,查询语句,以及各类特定的查询语句。

学会数据库事务的概念,特性以及使用方法。

sql的目录也整理一个思维导图:

sql 语句简介

结构化查询语言简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

sql 语句就是对数据库进行操作的一种语言。

sql分三种类型:

  1. DDL语句,数据定义语句,定义了不同数据库,表,列,索引等数据库对象。

  2. DML语句,数据操作语句,用于添加,删除,更新和查询数据库记录,并检查数据完整性。

  3. DCL语句,数据控制语句,定义数据库,表,字段,用户的访问权限和安全级别。

mysql 基本数据类型

mysql提供了多种数据类型,包括数值类型,字符串类型,日期和时间类型。

  1. 数值类型

  2. 字符串类型

  3. 日期和时间类型

数值类型

mysql的数值类型:

  1. 整数类型

  2. 浮点数类型

  3. 定点数类型

整数类型:

  1. tinyint

  2. small int

  3. medium int

  4. int

  5. big int

浮点数类型:

  1. float

  2. double

定点数类型:

  1. decimal

整数类型的划分是根据存储空间的大小和表示范围的大小来划分

浮点类型是用来表示实数的一种方法,根据位数和精度,浮点类型分单精浮点数(8 位精度)和双精浮点数(16 位精度)。

字符串类型

提供了多种字符串类型:

  1. char

  2. varchar

  3. binary

  4. varbinary

  5. blob

  6. text

  7. enum

  8. set

char 与 varchar

  1. char定义固定长度字符串

  2. varchar定义可变长度字符串

char的长度固定为创建表时声明的长度,其取值范围为 0 到 255,当保存char值时,在右边填充空格以达到指定的长度。

当检索到char值时,其尾部的空格会被删除,所以在存储时,一般字符串右边不能有空格。如果字符串右边有空格,在查询出来后会被删除。

varchar的长度可以指定为 0 到 6535,varchar值在保存时只保存需要的字符串,并另外加一个字节来记录长。

`binary`与`varbinary`

binaryvarbinary用来存储二进制字符串。没有字符集,并且会排序和比较基于列值字节的数值。

text 与 blob

textblob是以对象类型保存的文本与二进制。

text视为足够大的varchar,将blob视为足够大的varbinary,但textblobvarcharvarbinary的不同之处:

  1. 当保存或检索blobtext的值时不删除尾部空格。

  2. 在比较时,会用空格对text进行扩充以适应比较的对象。

  3. 对于blobtext的索引,必须制定索引前缀的长度。

  4. blobtext不能有默认值。

对弈textblob对象的最大字符串长度由其类型确定。

text分为tinytext,text,mediumtextlongtext四种类型。

blog分为tinyblobblobmediumbloblongblob四种类型。

enum

enum表示枚举类型,它的取值范围需要在创建表时通过枚举方式显式制定。enum是忽略大小写的。enum只允许从值集合中选取单个值,不能一次选取多个值。

set

set 是一个集合对象,可以包含 0 到 64 个成员,其所占存储空间的大小是因集合成员数量的不同而有所不同的。

日期和事件类型

提供了多种日期和时间类型:

  1. year

  2. time

  3. date

  4. datetime

  5. timestamp

日期格式,year,YYYY;time,HH:MM:SS;date,YYYY-MM-DD;datetime,YYYY-MM-DD HH:MM:SS,timestamp,YYYY-MM-DD HH:MM:SS。

数据插入

insert into 表名 values (值1,值2,...);

insert into 表名 (列1,列2,...) values (值1,值2);

mysql中,insert语句,可以一次性插入多条记录,语法格式如下。

insert into 表名 (列1,列2,...) values (值1,值2,...), (值1,值2,...),...;

数据修改

通过update命令进行修改:

update 表名 set 列名 = 新值 whert 列名 = 某值;

update 表1,表2,...set 表1.列1,表2.列2,...where 条件;

数据删除

可以使用delete命令进行删除:

delete from 表名 where 列名=值;

delete命令可以一次删除多个表的数据:

delete 表1,表2,... from 表1,表2,...where 条件;

数据查询

最基本的select语句的语法格式:

select 字段 from 表名 where 条件;

条件查询

条件查询的语句:

select 字段 from 表名 where 条件;

联合查询

union操作符

union操作符用于合并两个或多个select语句的结果集。

代码:

select 条件 from 表 1

union

select 条件 from 表 2;

union 和 union all 的主要区别

  1. union all用于将结果集直接合并在一起。

  2. union用于将union all后的解构进行一次distinct,以删除重复结果记录。

不重复查询

语法格式如下:

select distinct 字段 from 表名;

模糊查询

语法格式:

select 字段 from 表名 where 字段 like 值;

%的使用,用来匹配 0 个或多个字符,可以匹配任意类型和长度的字符,对长度没有限制。

“_”的使用,用来匹配任意单个字符,常用来限制表达式的字符长度。

排序查询

使用order by关键字来排序:

select 字段 from 表名 where 条件 order by field1 desc/asc, field2 desc/asc, ...;

排序方式:desc表示降序排列,asc表示升序排序。默认值为asc

order by后面可以跟多个不同的排序字段。

限制查询

使用limit关键字进行限制查询,格式:

select 字段 limit 起始偏移量,行数;

聚合

聚合语句格式:

select 字段 op_name from 表名 where 条件 group by filed1, filed2, ... with rollup having 条件;

op_name表示要进行的聚合操作,就是聚合函数。

聚合函数:

  1. sum函数求和

  2. count函数记录数

  3. max函数最大值

  4. min函数最小值

  5. groupby表示要进行分类聚合的字段

  6. with rollup表示是否对分类聚合后的结果进行在汇总

  7. having表示对分类后的结果进行条件过滤

连接

内连接

内连接查询是指所有查询的结果都能够在连接的表中有对应记录。在默认情况下是内连接,可以不写join关键字,或者写inner join

join分三类:

  1. inner join:获取两个表中字段匹配关系的记录。

  2. left join:获取左表所有记录,即使右表没有对应匹配的记录。

  3. right join:用于获取右表所有记录,即使左表没有对应匹配的记录。

左连接和右连接

左连接是指以左边的表的数据为基准,去匹配右边的表的数据。

  1. 如果匹配到相应数据,则显示匹配结果

  2. 如果匹配不到相应数据,就显示为 null

左连接的关键字:left join

右连接的关键字:right join

右连接反之。

事务

事务概述:事务,一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。

事务由事务开始和事务结束之间执行的全体操作组成。

事务就是一组由sql语句组成的业务逻辑,只有事务内的所有sql语句都成功执行,整个事务才算成功,否则就是失败。

事务的四大特性

  1. 原子性

  2. 一致性

  3. 隔离性

  4. 持久性

事务提交

默认情况下,sql语句是自动提交的,每条sql语句在执行完毕后会 自动提交事务,要想统一提交事务,需要先关闭mysql的自动提交功能。

查看数据库是否开启自动提交:

show variables like 'autocommit';

使用命令关闭自动提交:

set autocommit=0;

命令手动进行事务提交:

commit

事务回滚

事务中已执行成功的语句结果应该回退至未执行状态,称为事务回滚。

事务回滚:

rollback

事务隔离级别

事务的并发读问题

  1. 脏读:读取到另一个事务未提交数据;

  2. 不可重复读:两次读取不一致;

  3. 幻读(虚读):读到另一事务已提交数据。

开始事务

事务以begin transaction开始:

格式:

begin transaction <事务名称> |@ <事务变量名称>

语法说明如下:

@<事务变量名称>由用户定义的变量,必须用char,varchar,nchar或nvarchar数据类型来声明该变量。

begin transaction语句的执行。

提交事务

commit表示提交事务,即提交事务的所有操作。

撤销事务

rollback表示撤销事务,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。

语法格式:

rollback[transaction]

MySQL 正则表达式

  1. ^匹配输入字符串的开始位置。

  2. $匹配输入字符串的结束位置。

  3. [...]字符集合。匹配所包含的任意一个字符。

  4. [^...]负值字符集合。匹配未包含的任意字符。

  5. *匹配前面的子表达式零次或多次。

  6. +匹配前面的子表达式一次或多次。

  7. {n}n 是一个非负整数。匹配确定的 n 次。

  8. {n,m}m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。

sql 语句

sql语句:

select lastname from persons

  1. select从数据库表中获取数据

  2. update更新数据库表中的数据

  3. delete从数据库表中删除数据

  4. insert into向数据库表中那个插入数据

DDL 语句

  • create database创建新数据库

  • alter database修改数据库

  • create table创建新表

  • drop table删除表

  • alter table变更数据库表

  • create index创建索引

  • drop index删除索引

语句

SELECT 语句用于从表中选取数据。

SELECT 列名称 FROM 表名称

SELECT * FROM 表名称

SELECT LastName,FirstName FROM Persons

SQL SELECT DISTINCT 语句

在表中,可能会包含重复值。关键词 DISTINCT 用于返回唯一不同的值。

语法:

SELECT DISTINCT 列名称 FROM 表名称

WHERE 子句用于规定选择的标准。

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

|操作符| 描述|

|:---|:---|

|=| 等于|

|<>| 不等于|

|>| 大于|

|<| 小于|

|>=| 大于等于|

|<=| 小于等于|

|BETWEEN| 在某个范围内|

|LIKE| 搜索某种模式|

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

ORDER BY 语句用于对结果集进行排序。

INSERT INTO 语句

INSERT INTO 表名称 VALUES (值1, 值2,....)

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

Update 语句用于修改表中的数据。

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE 语句用于删除表中的行。

DELETE FROM 表名称 WHERE 列名称 = 值

总结

数据库的发展历程:

  1. 网状型数据库

  2. 层次型数据库

  3. 关系数据库

  4. 面向对象数据库

关系数据库:

  1. 桌面数据库

  2. 客户/服务器数据库

数据表是存储数据的逻辑单元。

数据表中,一行称为一条记录,一列称为一个字段。

  • 28
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL是一种开源的关系数据库管理系统,它是最流行的数据库之一。它可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。MySQL具有高性能、可靠性和可扩展性等优点,被广泛应用于Web应用程序、企业级应用程序和移动应用程序等领域。初学者可以通过学习MySQL的基本概念、语法和操作来掌握它的使用方法。 ### 回答2: MySQL 是一种开源的关系数据库管理系统,由于其开源、跨平台、易用性等特点,成为了当前最流行的数据存储方式之一。初识MySQL需要了解以下几个方面: 一、MySQL 的概述 MySQL 是一个关系数据库管理系统。它可以进行快速、可靠、高效的大容量数据处理。其主要特点是在进行大量数据操作时速度快、延迟低。 MySQL 具有多线程能力,可以提高数据库的并发处理能力。而且还可以实现多个用户并发访问。 MySQL 采用客户端/服务器模式架构,安装简单,且性能和稳定性都相对较好。 二、 MySQL 的安装与配置 MySQL 可以在各种操作系统上安装,如在 Linux 上使用 apt-get 命令,也可以在 Windows 上使用安装程序。在安装完成后需要进行配置,包括设置 root 用户密码,指定数据存储路径,端口等。 三、MySQL 的基本概念 MySQL 中的一些基本概念包括: 1. 数据库(Database):MySQL 数据库是由一系列表组成的容器,用于存储数据。 2. 表(Table):表是 MySQL 数据库中最小的单元,用于存储数据。 3. 列(Column):表中的每个数据项都是基于列的。 4. 行(Row):每一行代表一条记录,实际上是一个记录的集合。 5. 主键(Primary key):一种特殊的约束,用于保证表中每个记录均有唯一标识,常用于在进行数据更新或删除时进行定位。 四、MySQL 的基本操作 MySQL 的基本操作包括增删改查等,其中最常用的是查询数据。关于查询数据,需要注意使用 SQL 语句,语法应正确且逻辑正确。 五、MySQL 的应用 MySQL 在各种场景下都有广泛的应用,如 Web 应用程序(例如在线商店、博客),移动应用程序,游戏等。由于其量级小、效率高、稳定性好的特点,深受开发者的欢迎。 总体来说,初识 MySQL 需要了解其基本概念、安装配置、基本操作等。作为开源的关系数据库管理系统MySQL 在各大领域都有广泛的应用,其影响力不断扩大。 ### 回答3: MySQL是一种关系数据库管理系统(RDBMS)。它是一种开源软件,是世界上最广泛使用的关系数据库管理系统之一。MySQL由瑞典MySQL AB公司所开发,现在由Oracle公司维护。 MySQL具有兼容性高、开放的源代码、体积小、性能优越、易于安装和配置等优点。MySQL广泛应用于Web服务器上,它与PHP、Python、Perl等编程语言之间有着良好的兼容性。 MySQL支持多种操作系统,如Linux、Windows、Unix、Free BSD等等。同时也支持多种编程语言,如C、C++、Java、PHP、Python、Perl等等。 在学习MySQL时,你需要掌握数据库创建、数据表创建、数据表间关系的定义和维护、记录插入、查询和修改等技能。MySQL是一个非常灵活、易于学习的数据库管理系统,但它的灵活性也可能会导致一些问题,例如由于外键、约束、索引等原因而引起的性能问题,因此,使用MySQL需要掌握一些基本知识。 此外,在MySQL学习过程中需要注意的是安全性问题。我们可以使用用户名和密码来保护我们的MySQL系统,确保只有授权的用户可以访问数据库。在创建用户时,我们需要为每个用户分配不同的权限,以便他们可以执行他们需要的操作而且不能执行其他命令。 总之,MySQL是一种非常强大、广泛使用的数据库管理系统,它不仅具有广泛的应用层面,而且易于学习和使用。因此,学习MySQL是每个开发者的必备技能之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值