MySQL基础和SQL入门

1.数据库

1.1使用数据库的原因

存储方式 优点 缺点
内存 速度快 不能够永久保存,数据是临时状态的
文件 数据是可以永久保存的 使用IO流操作文件, 不方便
数据库 1.数据可以永久保存
2.方便存储和管理数据
3.使用统一的方式操作数据库(SQL)
占用资源,有些数据库需要付费(比如Oracle数据库)

1.2 常见的数据库软件排行榜

数据库名 介绍
MySql数据库 开源免费的数据库
因为免费开源、运作简单的特点,常作为中小型的项目的数据库首选。
MySQL1996年开始运作,目前已经被Oracle公司收购了. MySQL6.x开始收费
当前我们学习的是MYSQL5.7版本,所以还是免费的
Oracle数据库 收费的大型数据库,Oracle公司的核心产品。安全性高
DB2 IBM公司的数据库产品,收费的超大型数据库。常在银行系统中使用
SQL Server MicroSoft 微软公司收费的中型的数据库。C#、.net等语言常使用。 但该数据库只能运行在windows机器上,扩展性、稳定性、安全性、性能都表现平平。

2.安装数据库

卸载MYSQL数据库后还会有一些残留文件在如下目录中:datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data

3.配置环境变量






此时我们的 MySQL 就已经安装成功,并且环境变量已经配置成功,接下来就可以进行学习MySQL了

4.MYSQL的启动与关闭

4.1图形化界面

4.2命令行形式


5.登录数据库

5.1命令行

MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。

命令 说明
mysql -u 用户名 -p 密码 使用指定用户名和密码登录当前计算机中的MySQL数据库
mysql -h 主机IP -u 用户名 -p 密码 -P 端口 -h 指定IP 方式,进行 登录
# 本地登录
mysql -uroot -p123456
# 远程登录
mysql -h127.0.0.1 -uroot -p123456
# 退出数据库
exit 或者 quit

5.2 SqlYog(图形化界面的MYSQL管理工具)

SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用 SQLyog 可以快速直观地让您从世界的任何角落通过网络来维护远端的 MySQL 数据库

默认安装路径:C:\Program Files\Webyog SQLyog Ultimate

6.MYSQL的目录结构

6.1MySQL安装目录

  • MySql的默认安装目录在 C:\Program Files\MySQL\MySQL Server 5.7

  • 目录 目录内容
    bin 放置一些可执行文件
    docs 文档
    include 包含(头)文件
    lib 依赖库
    share 用于存放字符集、语言等信息。

6.2 MYSQL数据文件位置

目录文件 文件内容
Data 数据库和数据表的信息
Uploads
installer_config.xml
my.ini MYSQL的配置文件

数据库其实是文件系统,可以看做目录;数据表就可以看做文件。

7.数据库管理系统

7.1 什么是数据库管理系统 ?

  • MYSQL服务器其实就是一台安装了MYSQL软件的电脑
  • 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理维护数据库的大型软件。

7.2 数据库管理系统的作用

  • 用于建立、使用和维护数据库,对数据库进行统一的管理。

7.3 数据库管理系统、数据库 和表之间的关系

  • MySQL中管理着很多数据库,在实际开发环境中 一个数据库一般对应了一个的应用,数据库当中保存着多张表,每一张表对应着不同的业务,表中保存着对应业务的数据。

7.4 数据库表

  • 数据库中以表为组织单位存储数据

  • 表类似我们Java中的类,每个字段都有对应的数据类型

  • 类 -----> 表
    类中属性----> 表中字段
    对象 ---> 数据记录
    

8.SQL

8.1 SQL相关概念

  • 什么是SQL ?
  • 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
  • SQL 的作用
  • 是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL
  • 所有的关系型数据库都可以使用SQL
  • 不同数据库之间的SQL 有一些区别 方言

8.2 SQL通用语法

注释语法 说明
– 空格 单行注释
/* */ 多行注释
# MySql特有的单行注释

8.3 SQL的分类

分类 说明
数据定义语言 简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。
数据操作语言 简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。
数据查询语言 简称DQL(Data Query Language),用来查询数据库中表的记录。
数据控制语言 简称DCL(Date Control Language),用来定义数据库的访问权限和安全级别,及创建用户。(了解)

8.4 DDL操作数据库

8.4.1 CRUD
  • C:Create,创建
  • R:Retrieve ,查询
  • U:Update,修改
  • D:Delete,删除
8.4.2 创建数据库
命令 说明
create database 数据库名; 创建指定名称的数据库。
create database 数据库名 character set字符集; 创建指定名称的数据库,并且指定字符集
(一般都指定utf-8)
/*创建数据库
默认编码:latin1 编码
常用编码:utf-8 编码
指定数据库名称,指定数据库的字符集 一般都指定为 utf8,与Java中的编码保持一致*/
CREATE DATABASE java1;
CREATE DATABASE java2 CHARACTER SET utf8;
SHOW DATABASES;
MYSQL数据库默认就有的四个数据库
数据库 功能
information_schema 信息数据库,保存的是其他数据库的信息
比如说数据库表的名称,表的字段的名称等
mysql MYSQL核心数据库,保存的是用户和权限的信息
performance_schema 保存性能相关的数据,监控MYSQL的性能
sys 记录了DBA所需要的一些信息,更方便的让DBA快速地了解数据库的运行情况
8.4.3 查看/选择数据库
命令 说明
use 数据库 切换数据库
select database(); 查看当前正在使用的数据库
show databases; 查看Mysql中 都有哪些数据库
show create database 数据库名; 查看一个数据库的定义信息
/*查看数据库
切换数据库*/
USE db2;
/*查询当前正在使用的数据库*/
mysql> select database();
+------------+
| database() |
+------------+
| db2        |
+------------+
/*查询MYSQL中有哪些数据库*/
SHOW DATABASES;
-- 查看一个数据库的定义信息
mysql> show create database db2;
+----------+--------------------------------------------------------------+
| Database | Create Database                                              |
+----------+--------------------------------------------------------------+
| db2      | CREATE DATABASE `db2` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+--------------------------------------------------------------+
8.4.4 修改数据库
命令 说明
alter database 数据库名 character set 字符集; 数据库的字符集修改操作
/*修改数据库的字符集*/
ALTER DATABASE java1 CHARACTER SET utf8;
/*查询当前数据库的信息*/
SHOW CREATE DATABASE java1;

8.4.5 删除数据库的操作
命令 说明
drop database 数据库名 从MySql中永久的删除某个数据库
-- 删除数据库(永久删除)
DROP DATABASE java2;
SHOW DATABASES;

8.5 DDL 操作数据表

8.5.1 MYSQL 常见的数据类型
类型 描述
int 整型
double 浮点型
char 字符串型(不可变长)
varchar 字符串型(可变长)
date 日期类型,yyyy-MM-dd ,只有年月日,没有时分秒
datetime 日期类型,yyyy-MM-dd HH:mm:ss,有年月日时分秒

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SnsZsuZ4-1649570420265)(01任务一MySQL基础和SQL入门.assets/image-20211127204352218.png)]

注意:MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:

  • char类型是固定长度的: 根据定义的字符串长度分配足够的空间。
  • varchar类型是可变长度的: 只使用字符串长度所需的空间

比如:保存字符串 “abc”

x char(10) 占用10个字节
y varchar(10) 占用3个字节

适用场景:

  • char类型适合存储 固定长度的字符串,比如 密码 ,性别一类
  • varchar类型适合存储 在一定范围内,有长度变化的字符串
8.5.2 创建表
CREATE TABLE 表名( 字段名称1 字段类型(长度), 字段名称2 字段类型 注意 最后一列不要加逗号
);

例:

-- 创建商品分类表
-- 选择使用的数据库
USE java1;
CREATE TABLE category(cid INT,cname VARCHAR(20)
);
-- 创建测试表
CREATE TABLE test1(tid INT,tdate DATE
);
-- 快速创建一个表结构相同的表(复制表结构)
-- 语法结构: create table new_table like old_table
-- 创建一个与test1表结构相同的test2表
CREATE TABLE test2 LIKE test1;
-- 查看表结构
DESC test2;
8.5.3 查看表
命令 说明
show tables; 查看当前数据库中的所有表名
desc 表名; 查看数据表的结构
-- 查看表
-- 查看当前数据库中所有的表
SHOW TABLES;-- 查看创建表的 sql
SHOW CREATE TABLE category;-- 查看表结构
DESC category;
8.5.4 删除表
命令 说明
drop table 表名; 删除表(从数据库中永久删除某一张表)
如果数据表已经被删除了,再次删除会报错
drop table if exists 表名; 判断表是否存在, 存在的话就删除,不存在就不执行删除
这种删除更加稳妥,即使不存在也不会报错
/*
表的删除:
语法格式:drop table table_name;   从数据库中永久地删除一张表drop table if exists table_name;   先判断表是否存在,如果存在就删除,否则就不执行删除
*/
-- 删除表
DROP TABLE test1;
-- 如果一张表已经被删除了,再次执行删除,就会报错,可以使用第二种删除方法,会有警告,不会报错
DROP TABLE IF EXISTS test1;
8.5.5 修改表(修改表结构用alter,修改表的数据用update)
alter对表结构的几种操作(AMCD) 功能
add 添加字段
alter table table_name add 字段名称 字段类型(长度)
modify 更改字段相关信息
alter table 表名 modify 字段名称 字段类型
change 更改字段的名称
alter table table_name change 旧列名 新列名 类型(长度)
drop 删除字段
alter table table_name 表名 drop 列名
/*
修改表修改表的名称修改表的字符集修改表的某一列(数据类型 名称 长度)向表中添加一列删除表中的某一列
*/
-- 修改表的名称 语法格式:rename table old_table to new_table
RENAME TABLE category TO category1;-- 修改表的字符集为gbk 语法格式:alter table table_name character set 字符集
ALTER TABLE category1 CHARACTER SET gbk;-- 向表中添加一个字段 关键字 add
-- 语法格式: alter table table_name add 字段名称 字段类型(长度)
-- 添加分类描述字段
ALTER TABLE category1 ADD cdesc VARCHAR(20);
DESC category1;-- 修改表中列的数据类型 或者 长度,关键字:modify
-- 语法格式:alter table 表名 modify 字段名称 字段类型
-- 修改cdesc字段的长度为 50
ALTER TABLE category1 MODIFY cdesc VARCHAR(50); -- 修改字段长度
ALTER TABLE category1 MODIFY cdesc CHAR(20); -- 修改字段的数据类型
DESC category1;-- 修改列的名称 关键字:change
-- 语法格式:alter table table_name change 旧列名 新列名 类型(长度)
-- 修改cdesc字段 名称改为 description varchar(30)
ALTER TABLE category1 CHANGE cdesc description VARCHAR(30);-- 删除列 关键字:drop
-- 语法格式:alter table table_name 表名 drop 列名
ALTER TABLE category1 DROP description;
DESC category1;

8.6 DML操作表中数据

SQL中的DML 用于对表中的数据进行增删改操作

DML(Data manipulation language)数据操作语言 作用
insert into value() / values() 可以插入一条或多条数据
update set 更改某一条或多条数据
delete from 根据条件删除指定数据
8.6.1 插入数据
/*
DML 对表中的数据进行 增删改查
增加语法格式:insert into table_name (字段1,字段2,...) values(字段值1,字段值2,...);*/
-- 创建学生表
CREATE TABLE student( sid INT, sname VARCHAR(20), age INT, sex CHAR(1), address VARCHAR(40));
-- 向学生表中插入数据
-- 方式1:插入全部字段 将所有的字段名都写出来
INSERT INTO student (sid,sname,age,sex,address)
VALUES(1,"孙悟空",18,"男","花果山");-- 方式2:插入全部字段 不写字段名
INSERT INTO student VALUES(2,"孙悟饭",5,"男","地球");-- 方式3:插入指定字段
INSERT INTO student(sid,sname) VALUES(3,"蜘蛛精");-- 注意事项:
-- 1.值与字段必须对应 前面指定几个字段,后面就对应添加对应的字段值,长度和数据类型必须都要对应上
INSERT INTO student(sid,sname,age,sex,address) VALUES(4,"孙悟空",18,"男","花果山");
-- 2.在插入varchar,char,date类型的时候,必须要使用单引号或者双引号包裹(尽量多使用单引号)
-- 3.如果插入空值,可以忽略不写 或者写 null
INSERT INTO student(sid,sname) VALUES(5,'唐僧');
INSERT INTO student(sid,sname,age,sex,address) VALUES(5,'八戒',NULL,NULL,NULL);
8.6.2 修改数据
/*
修改表
语法格式:update 表名 set 列名 = 值;update 表名 set 列名 = 值 {where 条件表达式:字段名 = 值};
*/
-- 修改表中所有人性别为女
UPDATE student SET sex = '女'; -- 慎用,一定要带条件
-- 带条件的修改,将 sid 为 1 的数据,性别改为男
UPDATE student SET sex = '男' WHERE sid = 1;
-- 一次性修改多个列
-- 修改 sid 为 5 的这条数据,年龄改为 20,地址改为 大唐
UPDATE student SET age = 20, address = '大唐' WHERE sid = 5;
8.6.3 删除数据
/*
删除操作
语法格式:delete from 表名;delete from 表名 {where 条件};
*/
-- 删除 sid 为 5 的数据
DELETE FROM student WHERE sid = 5;
-- 删除所有数据
-- 方式1:不推荐,对表中的数据进行逐条删除,效率低
DELETE FROM student;
-- 方式2:truncate table 表:推荐,删除整张表,然后在创建一个一模一样的新表
TRUNCATE student;

8.7 DQL数据库查询

DQL的一些特殊语法 功能
as 为查询的字段或者表起别名
distinct 放在查询的字段之前,去重
+,-,*,/,% 可以为查询整型字段 显示想要的数据内容
注意:查询操作 不会对数据表中的数据进行修改,只是一种展示的方式
8.7.1准备数据
#创建员工表
CREATE TABLE emp( eid INT, ename VARCHAR(20), sex CHAR(1), salary DOUBLE, hire_date DATE, dept_name VARCHAR(20)
);
#添加数据
INSERT INTO emp VALUES(1,'孙悟空','男',7200,'2013-02-04','教学部');
INSERT INTO emp VALUES(2,'猪八戒','男',3600,'2010-12-02','教学部');
INSERT INTO emp VALUES(3,'唐僧','男',9000,'2008-08-08','教学部');
INSERT INTO emp VALUES(4,'白骨精','女',5000,'2015-10-07','市场部');
INSERT INTO emp VALUES(5,'蜘蛛精','女',5000,'2011-03-14','市场部');
INSERT INTO emp VALUES(6,'玉兔精','女',200,'2000-03-14','市场部');
INSERT INTO emp VALUES(7,'林黛玉','女',10000,'2019-10-07','财务部');
INSERT INTO emp VALUES(8,'黄蓉','女',3500,'2011-09-14','财务部');
INSERT INTO emp VALUES(9,'吴承恩','男',20000,'2000-03-14',NULL);
INSERT INTO emp VALUES(10,'孙悟饭','男', 10,'2020-03-14',财务部);
8.7.2 简单查询
/*
DQL 查询操作简单查询select 列名 from 表名;
*/
-- 查询emp表中的所有数据
SELECT * FROM emp; -- * 表示 所有的列
-- 查询所有的数据 只显示 eid 和 ename
SELECT eid,ename FROM emp;
-- 查询所有数据,然后给列名 改为中文
-- 别名查询 使用关键字 as
SELECT eid AS 编号,ename AS 姓名,sex AS 性别,salary AS 薪资,hire_date AS 入职日期,dept_name 部门名称  -- as 可以省略
FROM emp;-- 查询一共有几个部门,需要进行去重 关键字:distinct
SELECT DISTINCT dept_name FROM emp;-- 将员工薪资 + 1000 进行展示
SELECT salary, salary+1000 AS new_salary FROM emp;-- 注意:查询操作 不会对数据表中的数据进行修改,只是一种展示的方式
8.7.3 条件查询

运算符:

  • 比较运算符:
运算符 说明
> < <= >= = <> != 大于、小于、大于(小于)等于、不等于
BETWEEN …AND… 显示在某一区间的值例如: 2000-10000之间: Between 2000 and 10000
当使用 >= 与 <= 搭配使用时,可以与 between and 替换使用
IN(集合) 集合表示多个值,使用逗号分隔,例如: name in (悟空,八戒)
in中的每个数据都会作为一次条件,只要满足条件就会显示
LIKE ‘%张%’ 模糊查询
IS NULL / is not null 查询某一列为NULL的值, 注: 不能写 = NULL
  • 逻辑运算符
运算符 说明
And && 多个条件同时成立
Or || 多个条件任一成立
Not 不成立,取反。

需求1:

# 查询员工姓名为黄蓉的员工信息
# 查询薪水价格为5000的员工信息
# 查询薪水价格不是5000的所有员工信息
# 查询薪水价格大于6000元的所有员工信息
# 查询薪水价格在5000到10000之间所有员工信息
# 查询薪水价格是3600或7200或者20000的所有员工信息

代码实现:

/*
条件查询
语法格式:select 列名 from 表名 where 条件表达式;
比较运算符
*/
# 查询员工姓名为黄蓉的员工信息
SELECT * FROM emp WHERE ename = '黄蓉';
# 查询薪水价格为5000的员工信息
SELECT * FROM emp WHERE salary = 5000;
# 查询薪水价格不是5000的所有员工信息
-- 方法1:
SELECT * FROM emp WHERE salary != 5000;
-- 方法2:
SELECT * FROM emp WHERE salary <> 5000;
# 查询薪水价格大于6000元的所有员工信息
SELECT * FROM emp WHERE salary > 6000;
# 查询薪水价格在5000到10000之间所有员工信息
-- 方法1:
SELECT * FROM emp WHERE salary BETWEEN 5000 AND 10000;
-- 方法2:
SELECT * FROM emp WHERE salary >= 5000 && salary <= 10000;
# 查询薪水价格是3600或7200或者20000的所有员工信息
-- 方法1:
SELECT * FROM emp WHERE salary IN (3600,7200,20000);
-- 方法2:
SELECT * FROM emp WHERE salary = 3600 OR salary = 7200 OR salary = 20000;

like模糊查询(通配符的使用):

通配符 说明
% 表示匹配任意多个字符串,
_(下划线) 表示匹配 一个字符

需求2:

# 查询含有'精'字的所有员工信息
# 查询以'孙'开头的所有员工信息
# 查询第二个字为'兔'的所有员工信息
# 查询没有部门的员工信息
# 查询有部门的员工信息

代码实现:

-- 条件查询是先取出表中的每条数据,满足条件就返回,不满足的就过滤# 查询含有'精'字的所有员工信息
SELECT * FROM emp WHERE ename LIKE '%精%';
# 查询以'孙'开头的所有员工信息
SELECT * FROM emp WHERE ename LIKE '孙%';
# 查询第二个字为'兔'的所有员工信息
SELECT * FROM emp WHERE ename LIKE '_兔%';
# 查询没有部门的员工信息
-- 在MYSQL中,对于null的判断,不能直接使用 = 来进行判断,而是使用 is null
SELECT * FROM emp WHERE dept_name IS NULL;
# 查询有部门的员工信息
SELECT * FROM emp WHERE dept_name IS NOT NULL;

9. DCL(数据控制语言)

MySql默认使用的都是 root 用户,超级管理员,拥有全部的权限。除了root用户以外,我们还可以通过DCL语言来定义一些权限较小的用户, 分配不同的权限来管理和维护数据库。

命令 功能
create user ‘用户名’@‘登录地址’ identified by ‘密码’; 创建用户
grant 权限 on 数据库名.表名 to ‘用户名’@‘登录地址’; 授予用户权限
show grants for ‘用户名’@‘登录地址’; 查询用户的权限
drop user ‘用户名’@‘登录地址’; 删除用户

9.1 创建用户

语法格式

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
参数 说明
用户名 创建的新用户,登录名称
主机名 指定该用户在哪个主机上可以登陆,本地用户可用 localhost
如果想让该用户可以 从任意远程主机登陆,可以使用通配符 %
密码 登录密码

创建 admin1 用户,只能在 localhost 这个服务器登录 mysql 服务器,密码为 123456

CREATE USER 'admin1'@'localhost' IDENTIFIED BY '123456';

创建的用户在名字为 mysql的 数据库中的 user表中

创建 admin2 用户可以在任何电脑上登录 mysql 服务器,密码为 123456

CREATE USER 'admin2'@'%' IDENTIFIED BY '123456';

% 表示 用户可以在任意电脑登录 mysql服务器.

9.2 用户授权

语法格式

GRANT 权限 1, 权限 2... ON 数据库名.表名 TO '用户名'@'主机名';
参数 说明
权限 授予用户的权限,如 CREATE、ALTER、SELECT、INSERT、UPDATE 等。
如果要授 予所有的权限则使用 ALL
ON 用来指定权限针对哪些库和表。
TO 表示将权限赋予某个用户。

给 admin1 用户分配对 db4 数据库中 products 表的 操作权限:查询

GRANT SELECT ON db4.products TO 'admin1'@'localhost';

给 admin2 用户分配所有权限,对所有数据库的所有表

GRANT ALL ON *.* TO 'admin2'@'%';

使用admin1用户登录数据库 测试权限

-- 首先创立新链接,使用admin1用户和密码进行登录,然后发现只能看到db4数据库,只有一张表products-- 只拥有查询权限
SELECT * FROM products;
-- 用户 admin1 只有查询权限,如果进行插入数据的操作时,会发生报错
INSERT INTO products VALUES('poo1','小鸟伏特加',3000,1,NULL);

使用admin2用户登录数据库 测试权限

-- 然后使用新连接,使用 admin2 用户和密码进行登录数据库后,可以看到所有的数据库和数据表

9.3 查看权限

语法格式

SHOW GRANTS FOR '用户名'@'主机名';

查看root用户权限

-- 查看root用户权限
SHOW GRANTS FOR 'root'@'localhost';
-- 查看 admin1 用户的权限
SHOW GRANTS FOR 'admin1'@'localhost';

9.4 删除用户

语法格式

DROP USER '用户名'@'主机名';

删除 admin1 用户

-- 删除 admin1 用户
DROP USER 'admin1'@'localhost';

9.5 查询用户

选择名为 mysql的数据库, 直接查询 user表即可

--  查询用户
SELECT * FROM mysql.user;

9.6 修改用户密码

  • 超级用户登录,使用 set
mysql> set password for yun=password('111111');
Query OK, 0 rows affected, 1 warning (0.00 sec)
  • 超级用户登录,使用update直接修改user表
mysql> update mysql.user set authentication_string=password('222222') where user = 'yun' and host = '%';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MySQL基础入门篇相关推荐

  1. Mysql基础入门篇(二)

    一.约束 1.什么是约束? 概念: 对表中的数据进行限定,保证数据的正确性.有效性和完整性. 2.约束的分类 主键约束:primary key 非空约束:not null 唯一约束:unique 外键 ...

  2. sqlalchemy mysql教程_SQLAlchemy 教程 —— 基础入门篇

    SQLAlchemy 教程 -- 基础入门篇 一.课程简介 1.1 实验内容 本课程带领大家使用 SQLAlchemy 连接 MySQL 数据库,创建一个博客应用所需要的数据表,并介绍了使用 SQLA ...

  3. linux入门_Linux超详细0基础入门篇(一)

    首先要感谢大康老师对我在Linux操作系统上的教导. 今天来讲一下用途广泛的Linux的基础入门教程 仅仅是做入门使用,如果想更加深入的学习那就需要自己做探索了. 本次例子使用的是kali linux ...

  4. XSS注入基础入门篇

    XSS注入基础入门篇 1.XSS基础概念 2. XSS的分类以及示例 2.1 反射型XSS 2.1.1 示例1:dvwa low 级别的反射型XSS 2.1.2 攻击流程 2.2 DOM型XSS 2. ...

  5. 经典再现,看到就是赚到。尚硅谷雷神 - SpringBoot 2.x 学习笔记 - 基础入门篇

    SpringBoot 2.x 时代 – 基础入门篇 视频学习地址:https://www.bilibili.com/video/BV1Et411Y7tQ?p=112&spm_id_from=p ...

  6. 《Ansible权威指南 》一 第一篇 Part 1 基础入门篇

    本节书摘来自华章出版社<Ansible权威指南 >一书中的第1章,第1.1节,李松涛 魏 巍 甘 捷 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 ...

  7. 云小课|DGC数据开发之基础入门篇

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到DGC数据 ...

  8. FPGA基础入门篇(四) 边沿检测电路

    FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...

  9. JAVA中整型常量的长度,Java基础入门篇(三)——Java常量、变量,

    Java基础入门篇(三)--Java常量.变量, 一.Java常量 (一)什么是常量 常量指的是在程序中固定不变的值,是不能改变的数据.在Java中,常量包括整型常量.浮点型常量.布尔常量.字符常量等 ...

最新文章

  1. 数据结构-线性表的顺序结构
  2. shd_config ssh设置(ssh客户端连接服务器断开)
  3. fedora 16 面部显示
  4. 在vue中使用SockJS实现webSocket通信
  5. access设置0字段为null是因为类型转换失败_Apache Pulsar 2.6.1 版本正式发布:2.6.0 加强版,新增 OAuth2 支持
  6. 什么是Brouter?
  7. 台式电脑连接蓝牙耳机_怎样知道电脑(台式机)有没有蓝牙?
  8. Django admin美化插件suit
  9. 在MyEclipse Tomcat可以运行但是在Tomcat 6.x上却不可以运行
  10. Visio图片加全边框
  11. java实现webservice调用
  12. 程序与算法的区别和内在联系(算法是什么?程序又是什么?)
  13. jquery图片轮播插件slideBox
  14. directshow使用Sample Grabber采样
  15. Django——stark组件
  16. 手游开发-客户端那些事1
  17. 服务器系统解决方案,服务器操作系统解决方案
  18. Java高级工程师面试题整理
  19. LaTeX中常见的宏包及其含义
  20. Windows10系统禁止运行脚本问题

热门文章

  1. 【08珠海航展】歼-10战斗机
  2. 霍夫曼编码(Huffman Coding)
  3. 今天玩angry birds
  4. Viper的兄弟Cobra
  5. 浅识K2 blackpearl中SmartObject
  6. unity3D游戏开发九之雾效、水效和音效
  7. Vue3双向绑定的坑 坑死人了
  8. 5G NR的速率计算方法
  9. 黑猴子的家:Docker网址
  10. 验证控件之RangeValidator(验证用户对某个文本框的输入是否在某个范围内)