首页IT科技网络安全的数据(《网络安全入门到精通》- 3.1 – 数据库 – MySQL数据库)

网络安全的数据(《网络安全入门到精通》- 3.1 – 数据库 – MySQL数据库)

时间2025-09-16 14:39:14分类IT科技浏览5448
导读:「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」:此文章已录入专栏《网络安全入门到精通》...

「作者简介」:CSDN top100                、阿里云博客专家                        、华为云享专家        、网络安全领域优质创作者

「订阅专栏」:此文章已录入专栏《网络安全入门到精通》

MySQL是中型关系型数据库                ,使用表来存储数据                        ,利用表和表之间的关系来存储数据和数据之间的关系

一        、环境准备

1. MySQL下载及安装

MySQL 8.0社区版下载及安装教程

2. MySQL启动

使用MySQL前        ,必须启动MySQL的服务                。

cmd启动mysql服务:

net start mysql80

下列两种情况        ,表示服务启动:

注意:mysql80是默认的mysql服务名                        ,如果你修改过服务名                ,则需要改成修改后的服务名                        。

cmd关闭mysql服务:

net stop mysql80

下面这种情况        ,表示服务关闭:

3. MySQL客户端连接

MySQL连接客户端的三种方式

4. MySQL基本语法

SQL语句以分号结尾        。 SQL语句不区分大小写 注释的内容不被执行

a. 单行注释:-- 注释内容 或 # 注释内容

b. 多行注释:/注释内容/

详细的语法教程                        ,可以参考我的另一篇文章:MySQL语法详解

二                        、数据库操作

1. 查询

show databases; # 查看所有数据库 select database(); # 查看当前使用的数据库 show create database test; # 查看数据库建表语句 show variables like %character%; # 查看当前使用的字符集

2. 创建

create database 数据库名;

3. 使用

use 数据库名;

4. 删除

drop database 数据库名;

5. 案例

1)查看MySQL中都有哪些数据库:有4个数据库

2)创建一个 user 数据库:创建成功

3)再次查看MySQL中有哪些数据库:可以看到                ,多了一个 user 表

4)查看当前使用的数据库:NULL表示当前没有使用数据库

5)使用 user 数据库:使用成功

6)再次查看当前使用的数据库:变成了 user

7)删除 user 数据库:删除成功

8)再次查看MySQL中有哪些数据库:user 表已被删除

三                、表操作

1. 查询

show tables; # 查看当前数据库下的所有表 show create table student; # 查询建表语句 desc student; # 查询表结构

2. 创建

create table 表名( 字段1 字段1的数据类型, 字段2 字段2的数据类型, …… 字段3 字段3的数据类型, )

3. 修改

修改表名

alter table 表名 rename 新表名;

添加字段

alter table 表名 add 字段名 数据类型(长度);

修改数据类型

alter table 表名 modify 字段名 新数据类型(长度)

修改字段名和字段类型

alter table 表名 change 旧字段名 新字段名 数据类型(长度);

删除字段

alter table 表名 drop 字段名

4. 删除

drop table 表名;

5. 数据类型

简单介绍两种最常用的数据类型:

int:数值型,常用来保存数字 varchar:字符型                        ,常用来保存字符串

6. 案例

前提:创建一个 user 数据库                        ,并使用 user 数据库                。

1)查看当前数据库中都有那些表:空,一个表也没有

2)创建一个 student 表                ,有三个字段:

id:int 类型                        ,存储学号 name:varchar 类型        ,存储学生姓名 age:int 类型                ,存储年龄

注意:int(10) 括号中的数字是数据的最大长度                        ,单位是字节                        。

3)创建成功后        ,再次查看数据库中都有哪些表:多了一个 student 表

4)删除 student 表        ,再次查看数据库中有哪个表:空                        ,student 表已被删除

四        、数据操作

1. 添加

指定字段添加数据

insert into 表名 (字段名1,……) values(值1                ,……),(值1        ,……)                        ,……

全部字段添加数据

insert into 表名 values (值1                ,……),(值1                        ,……)                        ,……

2. 修改

update 表名 set 字段1 =1,……[where 条件]

3. 删除

delete from 表名 [where 条件]

4.查询

select * from 表名

5. 案例

1)user 数据库中                ,创建 user 表                        ,建表语句如下:

use user; create table student( id int(10), name varchar(50), age int(10) );

2)指定字段(id        ,name                ,age)添加两条数据后                        ,查询 user 表中的数据:数据添加成功

3)向所有字段添加一条数据后        ,查询 user 表中的数据:数据添加成功

4)修改 zhangsan 的年龄为 28:        ,删除 lisi 的数据后                        ,查询 user 表中的数据:

五                        、查询操作

数据库90%的操作都是查询                ,这里单独列出来        。

1. 条件查询 where

select 字段列表 from 表名 where 条件列表; select * from student; # 查询表中所有数据 select * from student where age = 1; # 条件过滤 select name from student where age = 1; # 指定字段 select name,age from student,user,user2;# 多个字段/表        ,使用逗号分隔 select distinct scroe from student; # 去重 select name as newname from user; # 别名

2. 分组 group by

提示:分组查询必须配合聚合函数        。

select class ,count(grade) from student group by class;

3. 排序 order by                        ,desc/asc

select 字段列表 from 表名 order by 排序字段列表; select * from student group by grade desc; # 降序排列 select * from student group by grade asc; # 升序排列

4. 条件 having

提示:having必须在分组后使用

select * from student having grade > 60 order by grade asc;

5. 分页查询 limit

select 字段列表 from 表名 limit 第几条开始,显示几条;

查询条件可以互相配合使用                ,完整的查询语法如下:(查询条件可以省略,但顺序不能变)

select 字段列表 from 表名 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数

6. 特殊查询

select name,age+scroe as num from student; # 查询的列 支持运算符 select salary from employee where bonus is not null; # 查询非空 select salary+ifnull(bonus,0) 总工资 from employee; # 为null则取0

7. 联合查询

两张表的查询结果一起显示                        ,字段数必须相同                        ,默认去重

select * from student union [all/distinct] select * from student;

8. 子链接查询

在一条select语句中,嵌入另一条select语句

select * from exam where id = ( select id from user where name = 张三); select * from exam where id in (select id from user); select * from exam where (id,name) = (select id,name from user);

9. 案例

1)查询 student 表中满足条件( age > 18 )的用户信息:

2)在上面查询的基础上                ,按照名字排序(默认按照id排序):排序发生变化

3)在上面查询的基础上                        ,分页展示信息        ,从第1条数据开始                ,展示1条:

注意:数据从0条开始计数                        。

相关文章推荐                        ,点击下方链接查看文章:

MySQL order by关键字详解

order by排序判断字段数原理详解

六                、常用函数

1. 信息收集类

函数 作用 user() 当前使用数据库的用户 version() 数据库版本 database() 当前使用的数据库 @@datadir 数据库所在位置 @@version_compile_os 操作系统版本

2. 注入相关

点击左侧函数名        ,可查看函数详细使用方法

函数 作用 group_concat( 字段1        ,字段2) 将多行查询结果拼接成一行 concat(str1                        ,str2) 拼接多个字符串 substr(str                ,start        ,length) 截取字符串 if(condition                        ,T                ,F) 条件判断 length(str) 返回字符串长度 Hex(str) 字符串转换成16进制 sleep(time) 延时指定时间(单位秒)
声明:本站所有文章,如无特殊说明或标注                        ,均为本站原创发布                。任何个人或组织                        ,在未征得本站同意时,禁止复制、盗用                        、采集                        、发布本站内容到任何网站、书籍等各类媒体平台        。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
日本服务器可以用来做什么(租用日本服务器部署P2P网络平台要注意什么) 如何通过SEO定位你的网站?(提高网站曝光率和吸引力)