MySQL基本内容:

访问:2种 1、图形化界面 - 傻瓜式 要求:同时打开apache和mysql 访问:127.0.0.1:端口号/phpmyadmin localhost:端口号/phpmyadmin 2、*命令行方式:复杂,多,但是这样才能学到真正的SQL语句 如何进入数据库: 1、打开cmd 2、输出cmd的命令:进入到d:/xampp/mysql/bin 3、登录:mysql -uroot -p 直接回车,别加分号 4、退出:exit 5、学习SQL语句:关系型数据库的SQL语句是公用的 1、数据库: 创建:CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET utf8;

查看:SHOW DATABASES;

切换:USE 数据库名称;

删除:DROP DATABASE 数据库名;

2、数据表: 数据库的数据类型 数值:Int - 整型 Float/Double - 浮点型 Decimal - 精确值

字符串: CHAR - 长度固定的 VARCHAR - 长度可变的

日期: DATE - YYYY/MM/DD DATETIME - YYYY/MM/DD HH:mm:ss TIMESTAMP - 时间戳(标识:唯一不重复 - id也可以)

创建数据表: CREATE TABLE 表名( 字段名 数据类型, ... );

举例:之前还要use 数据库名 CREATE TABLE stu( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30), pwd VARCHAR(6), email VARCHAR(30), vip VARCHAR(1) );

主键约束:PRIMARY KEY - id不会重复 主键自增:AUTO_INCREMENT - 每次会自动+1

3、*数据: 增:INSERT INTO 表名 VALUES(字段值,...); 举例:INSERT INTO stu VALUES(0,"周鸿奥","321321","zha@qq.com","0");

删:DELETE FROM 表名 WHERE id=几; - 一旦删除就回不来了 举例:DELETE FROM stu WHERE id=5;

改:UPDATE 表名 SET 字段名=字段值,...WHERE id=几; 举例:UPDATE stu SET name="周鸟奥",pwd="123123",vip="1" WHERE id=6;

查:3种语法: 1、SELECT * FROM 表名; - 得到这个表里面所有的数据 2、SELECT name,pwd FROM 表名; - 得到这个表里面的用户名和密码 3、SELECT name,pwd FROM 表名 WHERE id=几; - 只会得到这个id的用户名和密码

疑惑: 1、为什么要大写:MySQL的约定,SQL语句要大写 - 这些语句以后都会放到后端脚本语言(php/node/c#/jsp)中运行 2、以后是不会用cmd来录入数据的:不可能,以后必然是全栈操作,必须记住4个语句


PHP简单使用

1、*如何运行php文件: 打开apache,将你的项目/文件放到htdocs文件中,打开浏览器输入:127.0.0.1,打开你需要的文件 建议把整个htdocs文件夹直接拖到你的编辑器里

PHP相对于js语法更为严格,

2、PHP语句基础:

输出方式:

1.echo( 想要输出的语句 ) 或 echo 想要输出的语句;

2.var_dump( 想要输出的内容 ) - 类似document.write输出效果,可以支持标签。

只能四种标准类型,不能输出别的类型

变量与常量:

1.变量:值可以改变;

语法:$变量名 = 值;

注意:记得使用变量名的时候也要添加$

2.常量:一旦创建不允许修改

语法:const 常量名 = 值。

3、*数据类型: 四种标准/原始/基本/值类型: Int - 整型 Float/Double - 浮点型 布尔 - Bool 字符串 - String - 有区别 单引号 - 只能放入纯文本 双引号 - 支持变量,类似于js模板字符串 echo "我的名字叫{$name},今年{$age}岁,喜欢{$hobby}";

两种复合类型: 1、Array - 数组 创建: 1、直接量:$arr=[值1,...] - 索引数组 2、内置函数:$arr=array( - hash数组 key=>value, ... )

2、Object - 面向对象,不需要面向对象

两种特殊类型:

1、Resource - 资源类型,连接上数据库才能看到 2、null - 空,释放内存 "" - 有,值为空 null - 不存在

4、运算符:几乎和js一直,唯独字符串拼接.,意味着php想要调用方法绝对不可能用.

5、分支:完全一样

6、循环:完全一样

7、函数:完全一样

8、API:理论上完全一样的,JS有的,PHP也有,但是写法却不相同,我们不需要做任何记忆,面向百度开发

 

全栈开发

1.前端-->后端:

1.前端可以通过表单或者Ajax进行传输数据。

<form action="xx.后端路径" method="get/post">
<input name="" value="" /> // 如果是用户来输入则不需要写value,用户来选择需要把 value提前写好
<提交按钮>
</form>
2.后端接受前端传来的数据
获取的可以是get、post、request(请求)的数据 语法如下:
$变量 = $_GET/POST/REQUSET["前端传来的input的name的值"];      //变量的值为对应input的value

REQUEST - 请求:前端发送到后端,不管是GET还是POST都能接住

GET - 大小有限2kb,不安全 - 搜索框 POST - 没有大小限制,安全的 - 注册/登录

3.后端<---->数据库
1、创建和数据库的连接对象:

$link = mysqli_connect( "hostname",“username”,“userpwd”,"dbname" );

hostname - 主机号 username - 数据库用户名 userpwd - 数据库密码 dbname - 数据库名称

举例:

$link=mysqli_connect("127.0.0.1","root","","h52201");

设置中文编码

mysql_query( $link, "SET NAMES utf8" );

 

2、创建SQL语句

$sql = "INSERT/DELETE/UPDATE/SELECT";

3.哪个数据库要执行啥子sql语句,会得到一个结果
增加数据:

$result=mysqli_query($link,$sql);

增删改得到的是布尔值

查:返回的是我们不认识的数据

解决:

while(($row=mysqli_fetch_*row|*assoc|array($result))!=null){
var_dump($row);//每一行要做什么操作看你自己
echo "<br>";
}

4、断开和数据库的连接

mysqli_close( $link )

form表单:

<input type="hidden" name="随便" value="随便"> - 隐藏作用域:给后端判断我们条件表单不同做不同的操作

 


Ajax:异步的javascript和xml

同步交互和异步交互:

同步:前端在向后端发起请求,知道服务器端进行响应的全过程,我们用户是不能做其他事情的。

比如:网址的请求,表单请求 - 同步交互

异步:前端在向后端发起请求,直到服务器进行响应的全过程,我们是可以做其他事情的。

比如:Ajax;

作用:和服务器端进行交互,向服务器端发起异步请求 - 把服务器端的数据拿回前端

语法:固定步骤:4步

1、创建出Ajax核心对象 XMLHttprequest -->即:XHR核心对象

var xhr = new XMLHttprequest ( );

2、建立和服务器端的连接

xhr.open( "GET/POST",“xx.php” );

3、向服务器发送请求

xhr.send( null );

特殊:

1.如果你是GET请求,那么你的send方法会失效,但是不能省略,必须写为:

xhr.open(”GET“,”xx.php ? key=value&...“);

2.如果你是POST请求,那么你的send方法可用,但要加上设置要求头部,必须写为:

xhr.open(“POST”,“xxx.php”)

xhr.setRequestHeader(”Content-Type“,”application/x-www-form-urlencoded“);

xhr.send(“key = value & ...”);

4、创建监听事件:

xhr.onreadystatechange=( ) =>{

if( xhr.readyState == 4 && xhr.status == 200 ){

xhr.responseText;//把PHP输出在页面上的东西就会拿回前端 - 难在拿到数据后你要干什么;

}

}



posted on 2022-05-04 20:59  叛逆的缪斯  阅读(30)  评论(0编辑  收藏  举报