二级MySQL数据库程序设计(二)

本博客为《全国计算机等级考试二级MySQL数据库程序设计教程》读书笔记,请勿转载用于其他商业用途。

课程目录
第1章 数据库的基本概念与设计方法
第2章 MySQL简介
第3章 数据库和表
第4章 表数据的基本操作
第5章 数据库的查询
第6章 索引
第7章 视图
第8章 数据完整性约束与表维护语句
第9章 触发器
第10章 事件
第11章 存储过程与存储函数
第12章 访问控制与安全管理
第13章 备份与恢复
第14章 PHP和MySQL数据库编程
第15章 开发实例

2. MySQL简介

在这里插入图片描述

2.1 MySQL的特点

2.2 安装配置MySQL服务器

2.3 启动与关闭服务器

注意:有时候一些应用软件会占用MySQL的端口导致MySQL服务器无法启动,此时需要关闭可能占用MySQL端口的应用软件。

2.4 MySQL客户端管理工具

在这里插入图片描述

2.5 MySQL语言结构

在这里插入图片描述

2.5.1 SQL结构化查询语言

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

  • 一体化:SQL集数据定义、数据操纵和数据控制于一体,可以完成数据库中的全部工作。
  • 使用方式灵活:具有两种使用方式,可以直接以命令方式交互使用,也可以嵌入使用,如C、C++、FORTRAN等语言。
  • 非过程化:只提操作要求,不必描述操作步骤,也不需要导航。
  • 语言简洁、语法简单:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。
  • 不区分大小写。
    注意:大多数数据库都支持大部分相同的SQL语句,同时不同数据库有自己增加的SQL语言特性。

2.5.2 MySQL语言组成

(1)数据定义语言(Data Definition Language, DDL)
DDL用于执行数据库的任务,对数据库及数据库中的各种对象进行创建、删除、修改等操作。数据库对象主要包括:表、默认约束、规则、视图、触发器、存储过程等。DDL包括的主要语句及功能见下表:

表:DDL主要语句及功能

语句功能说明
CREATE创建数据库或数据库对象不同数据库对象,其CREATE语句的语法形式不同
ALTER对数据库或数据库对象进行修改不同数据库对象,其ALTER语句的语法形式不同
DROP删除数据库或数据库对象不同数据库对象,其DROP语句的语法形式不同

(2)数据操纵语言(Data Manipulation Language, DML)
DML用于操纵数据库中各种对象,检索和修改数据。DML包括的主要语句及功能见下表:

表:DML主要语句及功能

语句功能说明
SELECT从表或视图中检索数据是使用最频繁的SQL语句之一
INSERT将数据插入到表或视图中
UPDATE修改表或视图中的数据既可修改表或视图的一行数据,也可以修改一组或全部数据
DELETE从表或视图中删除可根据条件删除指定的数据

(3)数据控制语言(Data Control Language, DCL)
DCL用于安全管理,确定哪些用户可以查看或修改数据库中的数据。DCL包括的主要语句及功能见下表:

表:DCL主要语句及功能

语句功能说明
GRANT授予权限可把语句许可或对象许可的权限授予其他用户和角色
REVOKE收回权限与GRANT相反,但不影响该用户或角色从其他角色中作为成员继承许可权限

(4)MySQL扩展增加的语言要素
这部分不是SQL标准所包含的内容,而是为了用户编程的方便增加的语言元素。这些语言元素包括常量、变量、运算符、函数、流程控制语句和注解等。

①常量

  • 字符串常量:字符串是指单引号或双引号括起来的字符序列,分为ASCII字符串常量和Unicode字符串常量。ASCII字符串常量是用单引号括起来的,由ASCII字符构成的符号串。例如:‘hello’、‘How are you!’。Unicode字符串常量与ASCII字符串常量相似,但它前面有一个N标志符,N代表SQL-92标准中的国际语言。N前缀必须为大写。只能用单引号括起字符串。例如:N’hello’、N’How are you!’。
  • 数值常量:数值常量可以分为整数常量和浮点数常量。整数常量即不带小数点的十进制数,例如:1984、2、+1234553、-8236473283。浮点数常量是使用小数点的数值常量,例如5.23、-1.98、101.5E5、0.5E-2。
  • 十六进制常量:一个十六进制值通常指定为一个字符串常量,每对十六进制数字被转换为一个字符,其最前面有一个大写字母“X”或小写字母“x”。在引号中只可以使用数字“0”到“9”及字母“a”到“f”或“A”到“F”。例如:X’41’代表大写字母A。
  • 日期时间常量:用单引号将表示日期时间的字符串括起来构成日期型常量,包括年、月、日,数据类型为DATE,表示为‘2020-02-22’这样的值。
  • 位字段值:可以使用b’value’符号写位字段值。value是一个用0和1写成的二进制数。直接显示b’value’的值可能是一系列特殊的符号。例如,b’0’显示为空白,b’1’显示为一个笑脸图标。
  • 布尔值:布尔值值包含两个可能的值,分别是TRUE和FALSE。FALSE的数字值为0,TRUE的数字值为1。
  • NULL值:NULL值可适用于各种类型,它通常用来表示“没有值”、“无数据”等意义,且不同于数字类型的“0”或字符串类型的空字符串。

②变量

  • 用户变量:用户可以在表达式中使用自己定义的变量,这样的变量叫做用户变量。用户可以现在用户变量中保存值,然后在以后引用它,这样可以将值从一个语句传递到另一个语句。在使用用户变量前必须定义和初始化。如果使用没有初始化的变量,它的值为NULL。
  • 系统变量:MySQL有一些特定的设置,当MySQL数据库服务器启动的时候,这些设置被读取来决定下一步骤。例如,有些设置定义了数据如何被储存,有些设置则影响到处理速度,还有些与日期有关,这些设置就是系统变量。和用户变量一样,系统变量也是一个值和一个数据类型,但不同的是,系统变量在MySQL服务器启动时就被引入并初始化为默认值。

③运算符

  • 算数运算符:算数运算符在两个表达式上执行数学运算,这两个表达式可以是任何数字数据类型。算数运算符有:+(加)、-(减)、*(乘)、/(除)和%(求模)5种运算。
  • 比较运算符:比较运算符(又称关系运算符),用于比较两个表达式的值,其运算结果为逻辑值,可以为三种之一:1(真)、0(假)及NULL(不确定)。运算符种类见下表:

表:比较运算符

运算符含义
=等于
>大于
<小于
>=大于等于
<=小于等于
<>、!=不等于
<=>相等或都等于空
  • 逻辑运算符:用于对某个条件进行测试,运算结果为TRUE(1)或FALSE(0)。运算符种类见下表:

表:逻辑运算符

运算符运算规则
NOT或!逻辑非
AND或&&逻辑与
<OR或||逻辑或
XOR逻辑异或
  • 位运算符:位运算符在两个表达式之间执行二进制位操作,见下表:

表:位运算符

运算符运算规则
&位AND
|位OR
^位XOR
~位取反
>>位右移
<<位左移

④表达式
表达式就是常量、变量、列名、复杂计算、运算符和函数的组合。一个表达式通常可以得到一个值。与常量和变量一样,表达式的值也具有某种数据类型,可能的数据类型有字符类型、数值类型、日期时间类型。这样,根据表达式的值的类型,表达式可分为字符型表达式、数值型表达式和日期表达式。

⑤内置函数
在编写MySQL数据库程序时,通常可以直接调用系统提供的内置函数来对数据库表进行相关操作。MySQL包含了100多个函数,大致可分为以下几类:

  • 数学函数:用于执行一些比较复杂的算数操作的函数。例如,ABS()函数、SORT()函数。
  • 聚合函数:特意为求和或者对表中的数据进行集中概括而设计的函数。例如COUNT()函数。
  • 字符串函数:为字符串操作而设计的函数。例如,ASCII()函数、CHAR()函数。
  • 日期和时间函数:操作日期和时间的函数。例如,NOW()函数、YEAR()函数。
  • 加密函数:对数据进行加密的函数。例如,ENCODE()函数、ENCRYPT()函数。
  • 控制流函数:用来进行条件操作的函数。例如,IF()函数。
  • 格式化函数:为格式化数据设计的函数。例如,FORMAT()函数。
  • 类型转化函数:可以把一个值转换为指定的数据类型的函数。例如,CAST()函数。
  • 系统信息函数:获得系统本身的信息的函数。例如USER()函数、VERSION()函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值