学习JavaScript第五周
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输出在页面上的东西就会拿回前端 - 难在拿到数据后你要干什么;
}
}
学习JavaScript第五周的更多相关文章
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周
java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...
- 学习 JavaScript (五)核心概念:语句
语句 语句被称作是流控制语句,通常有标志性的一个或者多个关键字,if . do-while. while.for. for-in. label. break.continue.with.switch. ...
- Python学习笔记第五周
目录 一.基础概念 1.模块定义 2.包的定义 3.导入包的本质 4.导入模块的本质 5.导入方法 6.import的本质 7.导入优化 8.模块分类 9.标准库介绍 1.time与datetime ...
- 学习Java第五周
通过这一段时间的学习发现Java和C++虽然都是面向对象的编程语言,有相似之处也有不同之处,相似的地方总会感觉易于接受,不同之处或者新接触的有些知识不是很好理解和掌握. 前一段时间学的内部类和接口便是 ...
- 20135316Linux内核学习笔记第五周
20135316王剑桥<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和t ...
- 第五周学习总结-HTML5
2018年8月12日 暑假第五周,我把HTML剩余的一些标签和用法看完了并学了一些HTML5的标签及用法. HTML5比HTML多了一些元素,也删去了一些元素. HTML5新增元素 图形元素 < ...
- 20145213《Java程序设计》第五周学习总结补充
20145213<Java程序设计>第五周学习总结补充 教材学习内容总结 欠的账都是要还的!第九章的内容躲过对酒当歌的夜,躲不过四下无人的街.由于第五周贪玩,疏忽冷落了Collection ...
- 20145213《Java程序设计》第五周学习总结
20145213<Java程序设计>第五周学习总结 教材学习内容总结 "素衣莫起风尘叹,犹及清明可到家."每每念此,不得不心疼自己.古人清明长假都进城耍了,还担心自己清 ...
- 20145304 第五周Java学习报告
20145304<Java程序设计>第5周学习总结 教材学习内容总结 1.使用try.catch: 如果使用了try.catch,编译时会尝试执行try区块中的程序代码,如果有错误,执行流 ...
- 20145330第五周《Java学习笔记》
20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...
随机推荐
- C++ primer 5th 第一章 开始 阅读笔记
第一章 开始 第一节 编写一个简单的C++程序 不同编译器使用不同的后缀命名约定,比如cc.cpp.c. 比如main程序保存到prog1.cc中,可以使用如下命令来编译它:cc prog1.cc.其 ...
- Twenty-seven
侦听器 watch侦听器 watch侦听器允许开发者监视数据 的变化,从而针对数据的变化做特定的操作 语法如下 侦听器的格式 1.方法格式的侦听器 缺点:无法在所进入页面的时候,自动触发!!! ...
- 技嘉b75m-d3v在nvme固态安装win7并且oem激活的实现过程
本篇文章主要讲述了实现台式机主板oem激活win7以及旧平台主板使用nvme固态安装win7的过程 事情的起因是我去年在小黄鱼买了台戴尔n4110,今年买了台惠普银河舰队2代,并且把里面128GB的n ...
- sudo apt update 没有 Release 文件
注: 不同环境出错原因可能不同,本文仅供参考. 今天在Ubuntu 19.04 系统运行指令 sudo apt update 时,忽然提示错误,报错如下: 404 Not Found [IP: 101 ...
- python checklist
1. 常用模块:subprocess, requests, paramekio, traceback, argparse, numpy, pandas 2. 赋值传递和引用传递 python是赋值传递 ...
- php echo print
echo print都是语言结构,都不是函数,但echo没有返回值,print有. echo print
- gateway 网关接口防篡改验签
gateway 网关接口防篡改验签 背景:为了尽可能降低接口在传输过程中,被抓包然后篡改接口内的参数的可能,我们可以考虑对接口的所有入参做签名验证,后端在网关依照相同的算法生成签名做匹配,不能匹配的返 ...
- 增、改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN
转载留存 IT_METHODS LIKE BAPI_ALM_ORDER_METHOD处理方法,必选项,存储CREATE CREATETONOTIF CHANGE DELETE RELEAS ...
- C语言学习---星花与取地址&----以及多级指针
#include<stdio.h> int main { //对一个表达式加* , 就会对表达式减一级星花*, //如果对表达式取&, 就会加一级* int* p; int** q ...
- nuxt项目中使用store
首先初始化创建一个nuxt项目 nuxt项目创建以后,内部已自动集成store,所以无需再单独安装和引入 在根目录的store文件夹下新建文件,例如home.js //home.js export c ...