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输出在页面上的东西就会拿回前端 - 难在拿到数据后你要干什么;

}

}

最新文章

  1. MFC中换行实现
  2. CSS旧版flex及兼容
  3. NSString的内存管理问题 (转载)
  4. Ajax 完整教程。。转载
  5. 魔兽争霸3 replay 格式
  6. hdu----(5055)Bob and math problem(贪心)
  7. Yii系列教程(二):功能简介
  8. 【转】OpenGL相关函数库介绍
  9. SDK命令行操作
  10. hadoop笔记之MapReduce的应用案例(利用MapReduce进行排序)
  11. DDD实践(一)
  12. appium测试代码nullpoint
  13. AssertionError while merging cells with xlwt (Python)
  14. Elasticsearch 思维导图集锦(持续更新...)
  15. Codeforces963C Cutting Rectangle 【数学】
  16. 如何把dedecms数据生成json
  17. HAproxy增加日志记录功能和自定义日志输出内容、格式
  18. Ryuji doesn&#39;t want to study 2018 徐州赛区网络预赛
  19. 从零开始部署CAS服务器
  20. Java中的sun.misc.Unsafe包

热门文章

  1. 如何通过使用vscode工具学习ts(typescript)
  2. Linux 文件编码操作enca[适用Mac]
  3. BIP去掉弹框中的参照的新增按钮
  4. 远程CG动画制作的神器:RayLink远程控制软件
  5. 钉钉-E应用开发初体验(企业内部应用)
  6. Java方法之递归详解【重点】
  7. Git commit时提示错误时 解决办法
  8. spider_使用request库进行get传参
  9. Spring boot jar包解压后重新压缩命令
  10. 【2020NOI.AC省选模拟#9】C. 重复