Bootstrap

考前复习必备MySQL数据库(关系型数据库管理系统)

哪吒人生信条:如果你所学的东西 处于喜欢 才会有强大的动力支撑



每天学习编程,让你离梦想更新一步,感谢不负每一份热爱编程的程序员,不论知识点多么奇葩,和我一起,让那一颗四处流荡的心定下来,一直走下去,加油,加油!欢迎关注加我,欢迎点赞、收藏和评论



不要害怕做梦,但是呢,也不要光做梦,要做一个实干家,而不是空谈家,求真力行。

大家好,我是魔王哪吒,话不多说,今天带来的是一篇《考前复习必备MySQL数据库(关系型数据库管理系统)》文章,欢迎大家喜欢。

前言

是一个关系型数据库管理系统,在应用方面,是最好的关系型数据库管理系统应用软件之一。

是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样增加了速度和提高了灵活性。

所使用的语言是用于访问数据库的最常用标准化语言,由于其体积小,速度快,总体拥有成本低,开放源码,一般中小型网站的开发选择作为网站数据库。

应用环境

和其他的大型数据库例如,,等相比,也有自己的不足,但是这也没有减少它受欢迎的程度,对于一般的个人使用者和中小型企业来说,提供的功能是绰绰有余。

作为操作系统,或作为服务器,作为数据库,作为服务器端脚本解释器。

应用架构

单点,适合小规模应用

复制,适合中小规模应用

集群,适合大规模应用

索引功能

从理论上来说,完全可以为数据表里的每个字段分别建一个索引,但把同一个数据表里的索引总数限制为个。

索引类别

初学基础

连接MySQL,格式:

mysql -h 主机地址 -u 用户名 -p 用户密码

连接到本机上的,首先打开窗口,进入目录,输入,回车后提示你输密码。

连接远程主机上的,远程主机的,和用户名root,密码。

命令:

退出命名:回车,但是注意,想要成功连接到远程主机,需要在远程主机打开远程访问权限。

mysql和sqlite的区别

是世界中使用最广泛的数据库服务器。是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于。

的特点是轻量级,可嵌入,但不能承受高并发访问,适合桌面和移动应用。

把数据库默认的编码全部改为

MySQL的配置文件默认存放在或者:

代码如下:

[client]

default-character-set = utf8

[mysqld]

default-storage-engine = INNODB

character-set-server = utf8

collation-server = utf8generalci

重启后,可以通过的客户端命令行检查编码。

复习必备

MySQL数据库管理方法,掌握数据库的初始化,创建,查看,和删除方法。学习数据表管理方法,掌握数据表的创建,查看,修改和删除方法。

用户账户的管理,用户的创建,与删除,用户权限的授予与回收,用户密码的设置与更改方法。

目录复习

为了方便查看学习,我做了思维导图,如下图所示:

mysql数据库管理

数据库进行初始化

初始化数据库,在安装好数据库后,不要直接启动,需要对数据库进行初始化。

初始化的过程

mysql提供数据库命令:

进行初始化

  • 按组合键,可以打开“运行”窗口,在该窗口输入按键,打开命令行。

  • 使用命令进入目录。

  • 执行命令,进行初始化。

初始化完成后,可以启动数据库,启动数据库有两种方式。

利用命令方式启动数据库:

启动数据库

使用命令进入操作环境中。

服务图片,开启数据库:

创建数据库

我们来创建一个数据库,语句。

语法格式如下:

创建一个名为的数据库:

在数据库创建好后,的目录下会自动生成一个名为的目录,该数据库的数据会存储于该目录下。

在中可以支持运行多个数据库,所以我们可以创建多个数据库。

查看数据库

数据库创建好后,使用语句查看当前中有哪些数据库。

删除数据库

使用语句删除数据库,语法格式如下:

删除创建的数据库,命令如下:

删除数据库是一个不可逆的操作。

mysql数据表管理

创建数据表使用语句,语法格式如下。

user 数据库名;

create table 表名 (字段名 类型(长度),字段名 类型(长度));

创建表语句:

查看数据表

查看表分:

使用的语句有语句和语句。

  • 使用语句可以查看数据库中有哪些表。

  • 使用语句可以查看某个表的具体结构,查看组成表的各字段的信息。

使用语句可以查看表的各个字段名称,类型,长度,是否非空,是否有主键,默认值以及备注等信息。

修改数据表

可以修改表名,字段名,字段类型等表结构,可使用语句来实现修改操作。

修改表名

修改表名的语句:

修改数据表改变为。

修改字段名

修改字段名的语法格式如下:

修改字段类型

修改字段类型的语法格式:

增加字段

增加字段的语法格式如下:

删除字段

删除字段语句:

示例:

删除数据表

使用语句删除数据库中的表。

use 数据库名;

drop 表名;

或者是

drop table 数据库名.表名;

删除某个数据中的某个表:

use test;

drop table student;

或者是

drop table test.student;

mysql用户管理

提供了一套完善的数据库用户以及权限管理系统。

创建和删除用户

使用语句创建用户:

表示为创建的用户名,指定该用户在哪个主机上可以登录。

用户删除

使用语句可以删除用户,语法格式:

示例如下:

授予与回收用户权限

授予用户权限

语句可以对用户进行授权:

表示授权用户在所有登录主机均对库的表拥有和权限。

表示授权用户在本地主机数据库的所有库的所有表拥有所有权限。

回收用户权限

使用语句可以对权限进行回收。

示例:

设置与更改用户密码

使用所提供的密码设置与更改语句,语法格式:

示例:

什么是数据库

数据库是按照数据结构来组织,存储和管理数据的仓库。每个数据库都有一个或多个不同的用于创建,访问,管理,搜索,复制所保存的数据。

将数据存储在文件中,但是在文件中读写数据速度相对较慢。

术语

一个关系型数据库由一个或数个表格组成:表头,行,列,键,值。

表头为每一列的名称,列为具有相同数据类型的数据的集合,行为每一行用来描述某条记录的具体信息,值为行的具体信息,每个值必须与该列的数据类型相同,键的值在当前列中具有唯一性。

下载地址为: 下载

安装

安装成功后,默认的用户密码为空,可以使用以下命令来创建用户的密码:

登录Mysql

命令行:

运行mysql服务:

MySQL PHP 语法

PHP Mysqli函数格式如下:

mysqli_connect($connect);

mysqli_query($connect,"SQL 语句");

mysqlifetcharray()

mysqli_close()

使用 PHP 脚本连接 MySQL

函数来连接数据库

语法:

参数说明:

语法:

连接服务器:

$dbhost = 'localhost'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('Could not connect: ' . mysqli_error());

}

echo '数据库连接成功!';

mysqli_close($conn);

?>

创建数据库

使用命令创建数据库,语法:

使用php脚本创建数据库

语法:

使用PHP来创建一个数据库

代码:

$dbhost = 'localhost'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接错误: ' . mysqli_error($conn));

}

echo '连接成功
';

$sql = 'create database web';

$retval = mysqli_query($conn,$sql );

if(! $retval )

{

die('创建数据库失败: ' . mysqli_error($conn));

}

echo "数据库 web 创建成功\n";

mysqli_close($conn);

?>

drop命令删除数据库

命令格式:

使用php脚本删除数据库

语法

使用函数来删除数据库:

删除数据库:

$dbhost = 'localhost:3306'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接失败: ' . mysqli_error($conn));

}

echo '连接成功
';

$sql = 'DROP DATABASE web';

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('删除数据库失败: ' . mysqli_error($conn));

}

echo "数据库 web 删除成功\n";

mysqli_close($conn);

?>

使用PHP脚本选择MySQL数据库

使用函数来获取一个数据库

语法:

示例:

函数来选取一个数据库:

选择数据库

$dbhost = 'localhost:3306'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接失败: ' . mysqli_error($conn));

}

echo '连接成功';

mysqliselectdb($conn, 'web' );

mysqli_close($conn);

?>

MySQL 数据类型

支持多种类型,分三类:

MySQL 5.0 以上的版本

1、一个汉字占多少长度与编码有关:

2、 表示 n 个字符,无论汉字和英文, 都能存入 n 个字符,仅是实际字节长度有所区别

3、 检查长度,可用 语言来查看

MySQL 创建数据表

语法:

创建数据表的语法。

在数据库中创建数据表:

create table if not exists (

int unsigned auto_increment,

varchar(100) not null,

varchar(40) not null,

date,

primary key ()

)engine=InnoDB default charset = utf8;

注意:在定义列为自增的属性,一般用于主键,数值会自动加1,。engine设置存储引擎,charset设置编码。

创建数据表

代码:

$dbhost = 'localhost:3306'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接失败: ' . mysqli_error($conn));

}

echo '连接成功
';

$sql = "create table table_tbl( ".

"tableid int not null autoincrement, ".

"table_title varchar(100) not null, ".

"table_author varchar(40) not null, ".

"submission_date DATE, ".

"primary key ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";

mysqliselectdb( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('数据表创建失败: ' . mysqli_error($conn));

}

echo "数据表创建成功\n";

mysqli_close($conn);

?>

MySQL 字段属性应该尽量设置为 NOT NULL

首先,考虑空值“”和null的概念:

MySQL删除数据表

语法,删除数据表的语法:

使用PHP脚本删除数据表

语法:

使用了PHP脚本删除数据表:

$dbhost = 'localhost:3306'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接失败: ' . mysqli_error($conn));

}

echo '连接成功
';

$sql = "drop table table_tb1";

mysqliselectdb( $conn, 'web' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('数据表删除失败: ' . mysqli_error($conn));

}

echo "数据表删除成功\n";

mysqli_close($conn);

?>

MySQL 插入数据

数据表插入数据通用语法:

insert into table_name(field1,field2,...fieldN)

values

(value1,value2,...valueN);

添加数据

代码:

$dbhost = 'localhost:3306'; // mysql服务器主机地址

$dbuser = 'root'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接失败: ' . mysqli_error($conn));

}

echo '连接成功
';

// 设置编码,防止中文乱码

mysqli_query($conn , "set names utf8");

$table_title = '学习';

$table_author = 'web';

$submission_date = '2018-03-06';

$sql = "insert into table_tbl ".

"(tabletitle,tableauthor, submission_date) ".

"values ".

"('$tabletitle','$tableauthor','$submission_date')";

mysqliselectdb( $conn, 'web' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法插入数据: ' . mysqli_error($conn));

}

echo "数据插入成功\n";

mysqli_close($conn);

?>

INSERT 插入多条数据

SQL基本语法

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

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

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

sql语句简介

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

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

分三种类型:

mysql基本数据类型

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

数值类型

的数值类型:

整数类型:

浮点数类型:

定点数类型:

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

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

字符串类型

提供了多种字符串类型:

char与varchar

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

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

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

`binary`与`varbinary`

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

text与blob

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

视为足够大的,将视为足够大的,但和与和的不同之处:

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

分为,,和四种类型。

分为,,和四种类型。

enum

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

set

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

日期和事件类型

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

日期格式,,YYYY;,HH:MM:SS;,YYYY-MM-DD;,YYYY-MM-DD HH:MM:SS,,YYYY-MM-DD HH:MM:SS。

数据插入

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

数据修改

通过命令进行修改:

数据删除

可以使用命令进行删除:

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

数据查询

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

条件查询

条件查询的语句:

联合查询

操作符

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

代码:

select 条件 from 表1

union

select 条件 from 表2;

union和union all的主要区别

不重复查询

语法格式如下:

模糊查询

语法格式:

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

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

排序查询

使用关键字来排序:

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

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

限制查询

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

聚合

聚合语句格式:

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

聚合函数:

连接

内连接

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

分三类:

左连接和右连接

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

左连接的关键字:。

右连接的关键字:。

右连接反之。

事务

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

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

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

事务的四大特性

事务提交

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

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

使用命令关闭自动提交:

命令手动进行事务提交:

事务回滚

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

事务回滚:

事务隔离级别

事务的并发读问题

开始事务

事务以开始:

格式:

语法说明如下:

由用户定义的变量,必须用数据类型来声明该变量。

语句的执行。

提交事务

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

撤销事务

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

语法格式:

MySQL 正则表达式

sql语句

语句:

DDL语句

  • 创建新数据库

  • 修改数据库

  • 创建新表

  • 删除表

  • 变更数据库表

  • 创建索引

  • 删除索引

语句

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

语句

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

语法:

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

|操作符| 描述|

|:---|:---|

|| 等于|

|| 不等于|

|| 大于|

|| 小于|

|| 大于等于|

|| 小于等于|

|| 在某个范围内|

|| 搜索某种模式|

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

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

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

语句

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

语句用于删除表中的行。

总结

数据库的发展历程:

关系数据库:

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

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

主键:唯一标识此条记录。

❤️关注+点赞+收藏+评论+转发❤️,原创不易,鼓励笔者创作更好的文章



点赞、收藏和评论



我是(达达前端),感谢各位人才的:点赞、收藏和评论,我们下期见!(如本文内容有地方讲解有误,欢迎指出☞谢谢,一起学习了)



我们下期见!



文章持续更新,可以微信搜一搜「 程序员哆啦A梦 」第一时间阅读,回复【资料】有我准备的一线大厂资料,本文 已经收录



收录,欢迎: