前端是什么?
所有的网页的页面全都是前端书写出来的,后端指的是处理。
HTML最简单的架构
JS的妙用
什么是数据库?
数据库就是将大量数据保存起来,通过计算机加工而成的可以高效访问的数据集合。
数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库的基本知识
数据库结构
1、服务端:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。
2、客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。
3、库:就是一堆表组成的数据集合
4、表(table):类似Excel,由行和列组成的二维表。
5、字段:表的列(垂直方向)。
6、记录:表的行(水平方向)。[ 注意 ] 关系数据库必须以行为单位进行数据读写。
WEB 访问:服务端:访问的服务器(中间件)客户端:浏览器
基本SQL语法
SQL语句:用关键字、表名和列名等组合而成的一条语句
3种SQL语句种类:
(1)DDL(数据定义语句):创建、删除或修改数据库以及数据库中的表等对象。
1、CREATE:创建数据库和表等对象
2、DROP:删除数据库和表等对象
3、ALTER:修改数据库和表等对象
(2)DML(数据操作语言):查询或修改表中的记录。
1、SELECT:查询表中的数据
2、INSERT:向表中插入数据
3、UPDATE:修改表中的数据
4、DELETE:删除表中的数据
(3)DCL(数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定。
数据库操作:
CREATE DATABASE db_name;
[ 新建数据库 ]
Show databases;
[ 查看所有数据库 ]
DROP DATABASE db_name;
[ 删除数据库 ]
USE db_name;
[ 使用数据库 ]
数据表操作:
CREATE TABLE table_name(column_name column_type);
[ 新建表 ]
Show tables;
[ 查看所有数据表 ]
DROP TABLE table_name;
[ 删除表格 ]
Desc table_name;
[ 查看表的类型 ]
ALTER TABLE table_name DROP 字段名;
[ 删除表里面的字段 ]
ALTER TABLE table_name ADD 字段名 字段类型;
[ 添加表里面的字段 ]
ALTER TABLE table_name change 旧字段 新字段 字段类型;
[ 修改字段名和属性 ]
字段其实是有一些属性的。
主键 PRIMARY KEY
[ 不能为空且唯一 ]
自增长 AUTO_INCREMENI
设置编码:CHARSET = utf8
NOT NULL
数据不能为空
数据类型:varchar(255) int(1) char float
https://www.runoob.com/mysql/mysql-data-types.html
插入数据:
INSERT INTO table_name (字段名,字段名) VALUES(字段值,字段值);
修改数据:
UPDATE table_name SET col_name = value WHERE 字段=字段值;
查询数据:
SELECT 字段名,字段名 FROM table_name WHERE 字段 = 字段值;
删除数据:
DELETE FROM table_name WHERE 字段=字段值;
查询当前库名:
SELECT database();
mysql字符串是可以接受16进制的
SQL语句书写规范:
1、以英文分号(;
)结尾
2、SQL语句本身大小写不敏感,不区分关键字的大小写,[ 注意 ] 插入到表中的数据是区分大小写的,如 “HI”、“Hi”、“hi” 都不同。
3、关键字大写,表名和列名的首字母大写
4、单词使用英文空格或换行符隔开
常数的书写方式:
字符串、日期:用单引号括起来(''
),如 Hello World
,'2022-5-20'
数字:直接书写,不用加单引号,如 5
单引号闭合 引号括号成对出现 选库 表不能重复创建 字段插数据
MySQL的基础查询语句
select * from 表名 order by 字段
[ ASC(默认) / DESC ] 升序(从小到大)ASC,降序(从大到小)DESC
select * from 表名 limit n,m;
n 表示从第几行开始,m表示取几条
select * from 表名 where 字段名 like '% %'
模糊查询
运算符号:+ - * / %
逻辑运算:NOT ( ! ) AND ( & ) OR ( | )
联合查询
表的内容无重复:
SELECT * FROM 表1 UNION SELECT * FROM 表2;
表的内容有重复:
SELECT * FROM 表1 UNION ALL SELECT * FROM 表2;
注意事项:
两次查询的列数必须一致
子查询
官方定义:子查询是一种常用计算机语言SELECT-SQL语句中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。
理解:子查询就如同 1+2*2=5 (1+2)*2=6
子查询就是优先执行,然后执行得到的结果作为某个查询的条件
select * from 表名 where 字段名 = (select username from 表名where 字段名 = 字段值);
select * from user where username = (select username from admin where id = 1);
admin 表当 id = 1 的用户名是否在 user 表也存在
select * from user where username in (select username from admin)
检查 admin 表和 user 表是否有用户名相等
渗透测试常用函数
GROUP_CONCAT(col);
返回由属于一组的列值连接组合而成的结果
ASCII(char);
返回字符的ASCII码值
DATABASE();
返回当前数据库名
USER()或SYSTEM_USER();
返回当前登陆用户名
VERSION();
返回MySQL服务器的版本
SLEEP(n);
休眠 n 秒
什么是PHP?
PHP的基础语法
运算符
=
代表赋值
==
比较数值
===
比较类型且比较数值
条件分支语句
if 选择语句
switch 选择语句
循环语句
for 循环语句
for(初始语句,判断语句,循环后的处理)
{ 循环体 }
while 循环语句
while(判断语句){ 循环体 }
break 和 continue
php中出现乱码加一行代码
meta charset = 'utf-8'
网页和服务器的两种交互方式(表单)
HTTP协议
HTTP请求头
HTTP请求方式(Request Method)
GET(得到)
POST(公布;邮递)
PHP获取表单
PHP操作MySQL
什么是表单?
表单标签:这里面包含了处理表单数据所用动态脚本的URL以及数据提交到服务器的方法。
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的动态脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。(告诉我网站我要提交)
如何创建一个表单
GET / POST => 浏览器提交数据的方式
GET => 在 URL 栏里面会出现的全部都是GET传参
传参数据是有长度限制
POST => 不会在 URL 栏显示,相对来说安全一点
没有长度限制
接收并验证表单
用户和服务器
用户 -> 传递数据给服务器
服务器接受数据 处理 传递给我们
PHP文件可以有前端代码部分也可以有动态语言(PHP部分)
PHP和数据库交互
MySQL中的注释:–空格
前端登录页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>登录分数</title>
</head>
<body>
<form action="test.php" method="POST">
姓名<input type="text" name="name">
<br>
分数<input type="text" name="fenshu">
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
后端 处理数据
<?php
$name = $_POST['name'];
$fenshu = $_POST['fenshu'];
if ($fenshu<60) {
$i = 2;
echo 'No';
}
else{
$i = 1;
echo "Yes";
}
$conn = mysqli_connect('localhost','root','root','ck');
mysqli_select_db($conn,'ck');
$sql = "insert into fenshu value('$name',$fenshu,$i)";
echo "<br>";
echo "$sql";
$result = mysqli_query($conn,$sql);
?>
什么是正则表达式
PHP中正则表达式常用函数
<?php
//preg_match_all(正则表达式,匹配字符串,匹配到的东西放到数组)
echo preg_match_all('/1/', '1231166', $c);
echo "<br>";
//preg_replace(正则表达式, 替换成什么, 匹配字符串)
echo preg_replace('/1/','a','1as1w1f1g1k1q1er1');
?>
<?php
//preg_match_all(正则表达式,匹配字符串,匹配到的东西放到数组)
echo preg_match_all('/1/', '1231166', $c);
echo "<br>";
//preg_replace(正则表达式, 替换成什么, 匹配字符串)
echo preg_replace('/1/','a','1as1w1f1g1k1q1er1');
echo "<br>";
echo preg_replace('/\d/','c','2a5w2aw6d4ad8a43d4w6');
echo "<br>";
echo preg_replace('/\D/','6','1a2d1awdw3ad431c3ds3fs1');
?>