数据库操作
-
如果有空白的id主键值
也就是只有id主键值,但是没有存储数据
写入数据时可以设定id主键值,给这个空白的id主键值,设定数据内容 -
一些错误的写入数据的操作,也会引起id主键值的自增
会出现没有数据的空白的id主键值
也可以修改id主键值为空白id主键值
只要id主键值没有数据,就可以任意操作
只要id主键值有数据,只能修改数据 -
通过外部的SQL文件,来导入外部程序,写入外部数据
所谓的SQL文件,就是已经设定好SQL语句程序的文件
导入这个SQL文件,实际上就是在执行这些SQL语句SQL语句
操作所有关系型数据库的计算机语言
通过可视化软件MySQL-front操作数据库,实际上本质也是在执行SQL语句
只是,是通过MySQL-front来执行SQL语句,不是我们自己写SQL语句
实际中操作数据库,要通过 cmd 来执行SQL语句,来操作数据库 -
要配置环境变量
配置环境变量,让程序可以在cmd中正常的执行运行
win7操作系统,是 弹出一个编辑输入环境变量位置的输入框
在已有的环境变量配置的最后
添加 分号 与之前的环境变量区分
分号之后,在 复制 bin文件的路径地址
之后是一路确定
配置好之后,重启cmd
输入命令,登录mysql数据库
输入账号密码 , 就等于 MySQL-front 打开软件,输入账号密码
-u 是输入账号
-p 是输入密码
mysql -uroot -p 点击回车
设定cmd中显示的编码格式
cmd中默认的编码格式是gbk
数据库中,数据的编码格式是utf8
SET NAMES gbk; // 设定编码格式是gbk
SET NAMES utf8; // 设定编码格式是utf8
库结构的操作
-
指定使用的 库结构
use `库名`;
-
创建库结构
CREATE DATABASE IF NOT EXISTS `库名`; 如果创建的库名已经存在,不会创建新的库结构,并且不会报错 简写 CREATE DATABASE `库名`; 如果创建的库名已经存在,程序执行会报错,之后的程序不会执行
-
查看库结构
查看所有的库结构
SHOW DATABASES; -
查看库结构的设置信息
SHOW CREATE DATABASE IF NOT EXISTS `库名`;
-
查看正在使用的库结构
SELECT DATABASE();DATABASE() 是 MySQL设定 一个 方法函数,作用就是查询正在使用的库结构
-
删除库结构
DROP DATABASE IF EXISTS `库名`; 简写 DROP DATABASE `库名`;
表结构的操作
- 创建表结构
每一个表结构都必须有至少一个字段,不能建立一个没有字段的空的表格结构
如果是多个字段,最后一个字段之后的逗号,必须不要写
CREATE TABLE IF NOT EXISTS `表名`(
字段1 数据类型 约束条件,
字段2 数据类型 约束条件
)引擎设定 编码格式设定 注释设定
-
查看表结构
查看所有的表结构
SHOW TABLES; -
查看表结构的建立方式
SHOW CREATE TABLE表名
; -
查看表结构中的字段
DESC表名
; -
删除表结构
DROP TABLE表名
; -
字段的相关设定
完整设定一个字段,包括
字段名称 数据类型 属性 约束条件 注释
MySQL数据库,数据类型
输入的数据,与设定的字段的数据类型不符合,无法输入
字段的数据类型,只要设定的合适就行,越小越好
例如:存储年龄,年龄不能是负数, 0-255的范围就基本够用了,没有必要设定更大的存储范围,占用更多的存储空间
哪个字段,使用什么数据类型,会在项目手册中做严格的规定,项目的数据库架构师会设计好 数值类型
整数类型 通过字段的属性,设定字段的数值范围 是否允许是负数
TINYINT(M) 1个字节 存储数值范围 -128 至 127 (默认范围)
或者 0 至 255 (UNSIGNED)
SMALLINT(M) 2个字节 存储数值范围 -32768 至 32767
或者 0 至 65535
MEDIUMINT(M) 3个字节 存储数值范围 -8388608 至 8388607
或者 0 至 16777215
INT(M) 4个字节 存储数值范围 -2147483648 至 2147483647
或者 0 至 4294967295
BIGINT(M) 8个字节 存储数值范围 -9223372036854775808 至 9223372036854775807
或者 0 至 18446744073709551615
浮点数类型
FLOAT(M,D) -3.4e38 至 3.4e38 最多存储7位小数,超出部分无法设定
DOUBLE(M,D) -1.7e308 至 1.7e308 最多存储15位小数,超出部分无法设定
DECIMAL(M,D) 组多存储65位数值 最多存储30位小数
整数的M值,设定数值位数 TINYINT(1) 只允许存储一位数值 只允许有个位 0-9
但是实际中,整合的 M 设定值 不起作用,只要不超出整数的范围,都是可以输入的
TINYINT(1) 想限定只能输入1位数值,实际上只要不超过范围,都能输入
这个 (1) 是没有用的 整数,一般设定数据类型,也不写 (M) 限定值
浮点数的M,D值 : D 值表示 整个数值中,小数部分的位数
输入数据,超出小数部分,不会存储,会只存储设定部分的小数
M 值表示 整个数值中,所有数值的位数
FLOAT(7,3) 存储的小数,整数部分和小数部分,一共是7位
小数部分是3位,整数部分是4位
小数部分多了,可以写入,只存储3位
整数部分多个,不能写入
字符串类型 数值太大的数字,也可以存储为字符串形式,为了节约存储空间
CHAR(M) 定长字符串
用于存储固定长度的字符串内容 手机号,身份证号,银行卡号
存储范围 : 0 至 255个字符
VARCHAR(M) 变长字符串
用于存储不固定长度的字符串内容 姓名,邮箱,地址...
存储范围 : 0 至 65535个字符
如果是中文, 理论上最多存储 21848个字符
同一个表结构中,存储的其他数据类型的长度,也会影响VARCHAR存储的长度
一般都存储不到理论上的最大值
TINYTEXT(M) 255个字符
TEXT(M) 65535个字符
MEDIUMTEXT(M) 16777215个字符
LONGTEXT(M) 4294967295个字符 或者 4G
M 值,设定存储字符串长度,超出设定不能写入存储
一般就是用 CHAR 和 VARCHAR 内容过多,存储成文件的形式,然后读取文件
时间类型
YEAR(2或者4) 2位或者4位年份
TIME() 格式 HH:MM:SS
DATE() YYYY-MM-DD 1001-01-01 至 9999-12-31
DATETIME() YYYY-MM-DD HH:MM:SS
1000-01-01 00:00:00 9999-12-31 23:59:59
TIMESTAMP() 自动存储当前时间
特殊类型
ENUM() 枚举类型,设定输入的数据数值范围,必须是规定的数据
性别: 男,女,保密,其他数据不允许输入
单选效果
SET() 集合类型,输入的数据,必须是符合规定的数据
多选效果
BOOLEAN 布尔类型 0 表示 false 非0 表示 true
字段的属性
字段的属性有两个,都是设定给数值类型的字段
UNSIGNED 设定数值是否可以存储负数
默认数值类型是可以存储负数的
设定 UNSIGNED 只能存储 0 至 正整数 范围的数值
ZEROFILL 设定自动补零操作
设定数值为2位数值,当前只输入一位数值,有ZEROFILL属性,会自动在数值前补零
1 — 01
带有 ZEROFILL 属性的字段 会自动带有 UNSIGNED 属性
字段的约束条件
NOT NULL 不能输入空值 null
DEFAULT 设定默认值,如果要输入默认值,
可以输入 DEFAULT 关键词,就会写入设定的默认值
UNIQUE KEY 唯一约束
字段输入的数值不能是重复数值
PRIMARY KEY 主键约束
一个表结构,默认只能有一个字段设定主键约束
设定主键约束的字段,数据不能重复,不能为空
一般与 AUTO_INCREMENT 配合使用
FOREIGN KEY 外键约束
多个表 执行联合查询时会使用的外键约束
字段的注释
COMMENT 对字段的说明
表结构的引擎 编码格式 注释说明
ENGINE innoDB 或者 MyISAM
CHARSET utf8
COMMENT 注释说明
字段相关操作
修改字段,最好是在字段没有输入数据时修改
如果字段已经有了数据,再来修改字段,如果字段设定与已经存在的字段冲突,会造成修改失败
修改字段: 字段的数据类型,属性,约束条件,注释,都需要重新设计
即时你还是原来的设定,也要重新写一遍
只修改字段名称
ALTER TABLE `表名`
CHANGE `旧字段名` `新字段名` 新字段的所有设定
修改字段的约束条件
ALTER TABLE `表名`
MODIFY `字段名` 字段的所有设定
删除字段
ALTER TABLE `表名` DROP `字段名`;
新增字段
在所有字段之后新增字段
ALTER TABLE `表名`
ADD `字段名` 字段的所有设定;
在所有字段之前新增字段
ALTER TABLE `表名`
ADD `字段名` 字段的所有设定 FIRST;
在指定字段之后新增字段
ALTER TABLE `表名`
ADD `字段名` 字段的所有设定 AFTER `指定的字段名`;
数据写入:
给所有的字段都写入数据
INSERT INTO `表名` VALUES (数据1,数据2....);
数据内容必须与字段内容一一对象,不能多也不能少
如果不想输入,可以使用DEFAULT执行默认值
给指定的字段写入数据
INSERT INTO `表名`(`字段1`,`字段2`....) VALUES (数据1,数据2....);
在()中设定的字段,必须与输入的数据一一对应
如果不想输入,可以使用DEFAULT执行默认值
如果设定为NOT NULL的字段,必须有数据的写入,并且不能是NULL
1.复习
面向对象:
主要demo
轮播图 table表格 tab切换/选项卡 放大镜 烟花
概念:所谓的面向对象编程思想,实际上,就是一种编写程序的规范或者是方式思路
通俗的讲: 利用 对象数据类型的特点
将需要参数数据等,定义为对象的属性和属性值
将要执行程序,定义成对象的函数方法
不用重复定义程序代码,只要通过构造函数,创建对象即可
比函数的优点是:调用数据更加方便
原型对象,原型属性,原型链
原型对象:每一个函数都有一个 prototype
原型属性:每一个对象都有一个 proto
原型链 : JavaScript中,每一个数据类型,每一个变量,实际上本质都可以看成一个对象
每一个变量存储的数据类型,都有 proto
通过 proto 将相关的变量串联起来,可以调用相关的数据内容
具体举例: 在构造函数中,定义实例化对象的属性,这个属性会建立在实例化对象本身上
在构造函数中,定义在 prototype 中的函数方法,只会定义在构造函数中,实例化对象上是没有的
实例化对象,是通过 原型链 , 调用 构造函数 prototype 中,定义的函数方法
原型链不用你特意的定义,调用等,JavaScript会自动根据原型链的功能来执行程序
后端相关知识:
关于PHP,MySQL等相关知识,我们只要了解就可以了
实际项目中,我们操作后端,使用 node.js
PHP相关知识
基本概念:PHP是一门运行在服务器端的弱类型的脚本语言
运行PHP程序时,必须有服务器,数据库等
PHP的环境搭建:phpstudy集成环境软件
PHP的基本语法:
变量以
来
定
义
,
定
义
和
使
用
都
必
须
有
来定义,定义和使用都必须有
来定义,定义和使用都必须有标识符
PHP程序严格区分大小写
PHP变量的命名只能是英文,数字,下划线,不能以数字开头
每一行PHP程序,都必须以分号结束
PHP的语法规范比JavaScript要严格很多
PHP程序都要写在 <?php ?> 起始和结束标识符之前
如果结束后,没有其他程序,PHP的结束标识符 ?> 不要写
PHP的变量
变量定义必须以$标识符,作为定义
PHP变量的命名只能是英文,数字,下划线,不能以数字开头
变量名称区分大小写
PHP的调试输出:
echo : 只能输出标量类型
var_dump : 输出变量存储的数值以及数值的数据类型
print_r : 以跟好的方式输出变量
一般是与pre标签配合
echo '<pre>';
print_r(数组,对象);
echo '</pre>';
PHP的数据类型
基本数据类型:在计算机程序中,真实存在的
标量类型
布尔类型:true false
整数类型:
范围: 32位: -2的31次方 至 2的31次方-1
64位: -2的63次方 至 2的63次方-1
浮点数类型:
有效数值 : 14位有效数值
字符串类型:
“” 双引号 可以解析变量,但是最好使用 { } 来包裹变量,反之变量名称与字符串内容冲突
‘’ 单引号 不能解析变量
符合类型
数组:
新版本 $arr = [];
就版本 $arr = array();
对象: $obj = stdClass()
操作对象的语法是 ->
函数:与JavaScript是完全相同的
特殊类型
空类型:null
资源类型:读取操作外部文件程序的结果
伪类型:人为定义的,在计算机程序中,不存在的
混合类型
数值类型
可回调类型
void类型
PHP的运算符
字符串拼接运算符:
JavaScript中 是 +
PHP中是 点符号 前后加上空格,才是拼接符号,否则会和小数点冲突
分支结构语句:
与JavaScript完全相同
循环语句:
foreach(){}
语法1:变量中存储的是数组单元的数据内容
foreach(数组 as 变量){}
语法2:变量1中存储的是数组单元的索引下标
变量2中存储的是数组单元的数据内容
foreach(数组 as 变量1 => 变量2){}
MySQL数据库的操作
基本概念:以电子格式,存储数据的仓库
分类:
网状类型数据库 层次类型数据库 (不用了)
关系型数据库 : 以二维表的形式存储数据 键值对
非关系型数据库 : 以属性属性值的形式存储数据 对象
数据库的层次结构
库 — 表 — 字段 — 数据
使用 mysql-front 可视化工具来操作数据库
可视化工具,操作数据库,本质上是通过SQL语句,来操作数据库
SQL语句:
基本概念:操作关系型数据库的计算机语言
语法规范:
关键词,命令等,语法规范规定要大写,小写也能执行
库,字段,表结构的命名要使用小写字母,并且使用反引号包裹
作用:为了防止定义的名称和SQL语句的关键词冲突,导致程序不能正常执行
数据类型,关键词有int 字段名称定义也是int 直接写程序会报错
字段名int 添加 反引号,程序可以正常执行
每行代码结束,都要使用 ; 做结束标签
库 操作
创建:
CREATE DATABASE IF NOT EXISTS 库名
DEFAULT CHARACTER SET = utf8;
查询:
查询所有
SHOW DATABASES;
查新建立方式
SHOW CREATE DATABASE IF NOT EXISTS 库名
;
查询正在使用的库
SELECT DATABASE();
使用:
USE 库名
;
删除:
DROP DATABASE 库名
;
修改:
只能修改编码格式
ALTER DATABASE 库名
DEFAULT CHARACTER SET = 字符集;
设定编码格式
SET NAMES 编码格式;
表 操作
创建:至少要有一个字段
CREATE TABLE IF NOT EXISTS 表名
(
字段设定
) ENGINT = innoDB DEFAULT CHARACTER SET = utf8 COMMENT ‘说明’;
查看:
查看所有:
SHOW TABLES();
查看创建方式
SHOW CREATE TABLE 表名
;
查看字段:
DESC 表名
;
删除:
DROP TABLE 表名
;
修改:
ALTER TABLE 表名
ENGINE = 引擎 CHARACTER SET = 编码格式 COMMENT ‘注释说明’
字段的操作:
修改:
修改字段名称和重新设定字段
ALTER TABLE 表名
CHANGE 旧字段名 新字段名 数据类型 属性 约束条件 注释;
重新设定字段
ALTER TABLE 表名
MODIFY 字段名 数据类型 属性 约束条件 注释;
新增:
末位:
ALTER TABLE 表名
ADD 字段名 数据类型 属性 约束条件 注释;
首位:
ALTER TABLE 表名
ADD 字段名 数据类型 属性 约束条件 注释 FIRST;
在指定字段后:
ALTER TABLE 表名
ADD 字段名 数据类型 属性 约束条件 注释 AFTER 指定的字段;
删除字段:
ALTER TABLE 表名
DROP 字段名
;
数据的操作:
写入数据:
给所有的字段都写入数据
INSERT INTO 表名
VALUES (数据);
给指定字段写入数据
INSERT INTO 表名
(字段
) VALUES (数据);
删除数据
保留id主键值
DELETE FROM 表名
;
清空表结构
TRUNCATE TABLE 表名
更新
UPDATE 表名
SET
字段名
= 数值
MySQL数据库的数据类型:
数据库程序,严格执行数据类型,如果数据的数据,与设定的数据类型不相符,很可能引起输入失败
数值类型:
一般整数类型,不限定数值的位数
浮点数类型,设定的是整个数值的位数和小数部分的位数
文本类型:
CHAR 长度固定的数据
VARCHAR 长度不固定的数据
事件日期类型:
TIMESTAMP 自动存储当前时间
特殊类型:
ENUM 枚举类型 单选效果
SET 集合类型 多选效果
字段的属性: 只能设定给数值类型字段
UNSIGNED 数值范围不能是负数
ZEROFILL 自动补零
字段的约束条件
NOT NULL 数据不能为空
DEFAULT 默认值
UNIQUE KEY 唯一约束
PRIMARY KET 主键约束
一般与 AUTO_INCREMENT 一起使用
FOREIGN KEY 外键约束
2. SQL查询语句
SQL查询语句
一个项目中,库操作,表结构操作,字段操作,数据操作都是固定语法形式
要想实现代码功能,代码内容都是固定不变的,大部分只要复制粘贴,修改名称和设定就可以了
查询语句,是一个非常灵活,非常复杂的语句内容,
SQL语句的逻辑运算符
JavaScript和PHP中,
逻辑与 && 逻辑或 || 逻辑非 !
SQL语句中
逻辑与 AND 逻辑或 OR 逻辑非 NOT
每一个SQL查询语句,都不相同
如果没有符合条件的查询结果,不会报错,查询结果是空
1,查询表结构中,所有字段的所有数据
SELECT * FROM `表名`;
2,查询表结构中,指定字段的所有数据
多个字段使用逗号间隔
SELECT `字段1`,`字段2`,`字段3`.... FROM `表名`;
3,查询表结构中,符合约束条件的字段
SQL查询语句,执行,要根据项目需求而定
SELECT 字段的设定 FROM `表名` 约束条件;
约束条件:
(1) WHERE 对字段中数据的约束条件
SELECT * FROM `表名` 约束条件 WHERE `字段` 数值设定;
(2) 模糊查询 只要数据包含关键字,即可
% _ 占位符,没有实际数据内容,只是表示指代或者替换
% 替换任意长度的任意内容
_ 替换一个长度的任意内容
SELECT * FROM `表名` 约束条件 WHERE `字段` LIKE '%或者_关键词';
(3) 设定查询显示顺序
默认的显示顺序,根据id字段,从 小--大 升序排列
可以设定,按照某个字段的 升序ASC 小--大 或者 降序DESC 大--小 来排列
字段默认的排序是 升序 ASC 可以不写
SELECT * FROM `表名` ORDER BY `字段名` 排序方式;
多个字段的顺序排列
可以同时设定多个字段的排序方式,之间使用过逗号间隔
一般是按照某个字段排序,再按照id字段排序
具体排序,会先按照第一个字段数据的顺序排序
然后相同的数据的顺序,会按照第二个字段的顺序再次排序
SELECT * FROM `表名` ORDER BY `字段名1` 排序方式 , `字段名2` 排序方式;
如果有WHERE和ORDER BY 排序,要先写 WHERE关键词
分页查询
按照指定的设定,来显示部分的查询结果
默认会显示所有的符合条件的查询结果
设定分页显示/分页查询,只会显示部分内容
LIMIT 分页查询语句
参数1:设定的显示数据内容的起始数据索引下标
参数2:设定的显示数据内容的数据数据数量
SELECT 字段设定 FROM `表名` 约束条件 LIMIT 参数1 , 参数2;
也可以和其他约束条件配合,语法顺序是
SELECT 字段设定 FROM `表名` WHERE 字段约束 ORDER BY 字段 排序方式 LIMIT 分页查询;
总结公式:
参数1:显示数据的起始索引下标
参数2:显示数据的数量
页面显示 line 条数据,第n页,显示的数据内容的设定
参数1: (n-1)*line
参数2: line
LIMIT (n-1)*line , line
3. SQL文件
– 查询表结构所有字段
SELECT * FROM student
;
– 查询表结构指定字段
SELECT id
,username
,userpwd
,phone
FROM student
;
– 查询表结构中,符合约束条件的字段
– 1,WHERE 对字段数据的约束
– 查询 id字段 数值是 100的数据
SELECT * FROM student
WHERE id
= 100;
– 查询 id字段 数值是 100-200之间的数值
SELECT * FROM student
WHERE id
>= 100 AND id
<= 200 ;
– 查询 id字段 数值是 100-200之间,并且年龄是 20-30岁之间的数值
SELECT * FROM student
WHERE (id
>= 100 AND id
<= 200) AND (age
>= 20 AND age
<= 25) ;
– 查询 id字段 数值是 100-200之间,并且年龄是 20-30岁之间的数值
– 只显示id和name字段
SELECT id
,name
FROM student
WHERE (id
>= 100 AND id
<= 200) AND (age
>= 20 AND age
<= 25) ;
– 查询 姓名中,姓何的数据
– 什么叫姓何 ? 名字中,第一个字是何,其他字是什么不管,有几个字不管
– 对何字之后,内容的长度不管,具体是什么内容,也不管,使用 %
SELECT id
,name
FROM student
WHERE name
LIKE ‘何%’;
– 查询 姓名中,带有一字的数据
– 一字前有什么,不管,一字后有什么不管,只要有一就行
SELECT id
,name
FROM student
WHERE name
LIKE ‘%一%’;
– 查询 姓名中 姓何的,名字是2个字的数据
– 姓何 ,第一个字是何
– 名字是两个字,除了姓何字外,还可以有任意1个字符,字符内容任意
SELECT id
,name
FROM student
WHERE name
LIKE ‘何_’;
– 查询 姓名中 姓何的,名字是3个字的数据
– 姓何 ,第一个字是何
– 名字是两个字,除了姓何字外,还可以有任意2个字符,字符内容任意
SELECT id
,name
FROM student
WHERE name
LIKE ‘何__’;
– 查询 姓名中 姓何的,名字是3个字的,第二个字是一的
– 姓何 ,第一个字是何,第二个字是一,第三个字是任意字符
SELECT id
,name
FROM student
WHERE name
LIKE ‘何一_’;
– 查询 姓名中 姓何的,名字是3个字的,第三个字是一的
– 姓何 ,第一个字是何,第二个字是任意字符,第三个字是一
SELECT id
,name
FROM student
WHERE name
LIKE ‘何_一’;
– 排序方式
– 按照年龄的 升序排列 小 – 大
SELECT id
,name
,age
FROM student
ORDER BY age
ASC;
– 按照年龄的 降序排列 大 – 小
SELECT id
,name
,age
FROM student
ORDER BY age
DESC;
– 按照年龄的 升序排列 小 – 大 和 id字段的 升序
– age字段,数值相同的数据,再按照 id 的升序排列
SELECT id
,name
,age
FROM student
ORDER BY age
ASC , id
ASC ;
– 按照年龄的 升序排列 小 – 大 和 id字段的 降序
SELECT id
,name
,age
FROM student
ORDER BY age
, id
DESC ;
– 查询姓何的人员,按照年龄的 升序 id 的升序排序
SELECT id
,name
,age
FROM student
WHERE name
LIKE ‘何%’ ORDER BY age
, id
;
– 分页查询
– 第n条数据,索引应该是n-1
– 从第一条数据,也就是索引是0的数据开始,显示,显示10条数据
SELECT id
,name
,age
FROM student
LIMIT 0 , 10;
– 查询 姓何的,年龄最大的5个人,按照id升序排列
– 姓何 WHERE name
LIKE ‘何%’ 模糊查询
– 年龄最大 年龄 是 降序 大 – 小
– 再按照id升序拍列 id
– 最大的5人 LIMIT 0 , 5
SELECT id
,name
,age
FROM student
WHERE name
LIKE ‘何%’ ORDER BY age
DESC , id
LIMIT 0,5;
– 查询 姓何的,年龄最大的第5-10人,按照id升序排列
– 第5-10人 从索引是4开始,显示6个人,也就是6条数据
SELECT id
,name
,age
FROM student
WHERE name
LIKE ‘何%’ ORDER BY age
DESC , id
LIMIT 4,6;
4. PHP操作数据库
PHP来操作数据库
SQL语句是操作数据库的计算机语言
不管是什么方式,本质上,都是在执行SQL语句,只是执行方式不同
普通的执行方式,通过cmd命令行,才执行SQL语句,执行结果,只存在于cmd命令行中
前端页面,后端程序php,java 等无法使用其中的数据的
MySQL-front 可视化软件,本质也是在执行SQL语句
操作结果,也是只存在于可视化软件中,其他程序也是无法使用
PHP的本质也是在PHP程序中,运行SQL语句,来操作数据库
PHP提供了专门的方法,来对MySQL数据库进行操作
并且获取操作结果,在PHP程序中
方法有3种方法
mysql 函数库 弃勇
mysqli函数库
PDO函数库 必须7.0以上版本才可以
PHP中通过PHP提供的函数库,来运行指定的函数方法,来才做MySQL数据库
php_mysqli 函数库,操作MySQL书库的语法和步骤,基本固定的形式
通过mysqli函数库方法,来操作MySQL数据库固定步骤
1,链接,登录
$link = mysqli_connect(地址,账号,密码,库名,端口);
2,定义要执行的SQL语句
$sql = "SQL语句";
3,执行SQL语句
$result = mysqli_query($link,$sql);
4,获取执行结果
$arr = mysqli_fetch_all($result , MYSQLI_ASSOC);
5,关闭数据库
mysqli_close($link);
1,链接登录MySQL数据库
mysqli_connect() 连接登录数据库的方法
参数1:MySQL数据库的地址
当前使用的是本地数据库
'localhost' 或者 '127.0.0.1'
参数2:登录MySQL的账号
'root'
参数3:登录MySQL的密码
'root'
参数4:使用数据库的名称
'nz2002'
参数5:MySQL数据库的端口号
3306
$link = mysqli_connect('localhost','root','root','nz2002',3306);
2,定义SQL语句
将我们要执行的SQL语句,定义成字符串的形式
最外一定要使用 " " 双引号包裹,为了解析变量
双引号之内,只能使用单引号
SQL语句,可以没有分号结尾
主要注意编码格式
$sql = "SQL语句";
3,执行SQL语句
执行结果是 结果集对象
对象中有执行结果,但是无法直接使用
$result = mysqli_query($link , $sql);
4,获取SQL语句执行结果
从结果集对象中,抽取具体的数据内容,组成新的数组,二维数组
mysqli_fetch_all($result , MYSQLI_ASSOC)
$arr = mysqli_fetch_all($result , MYSQLI_ASSOC);
5,关闭mysql数据库
链接的那个数据库,就关闭那个数据库
mysqli_close($link);
6,如果需要,要在执行SQL语句之前,设定编码格式
mysqli_query($link , "SET NAMES uft8或者gbk");
会影响中文的显示和查询
7,mysqli_query($link , $sql);
如果 mysqli_query 执行的是 查询语句,执行结果是结果集对象
如果 mysqli_query 执行的是 非查询语句,执行结果是 布尔类型 true成功 false失败
如果执行结果是布尔类型,不能使用 mysqli_fetch_all 来获取数组
只有查询语句,可以使用 mysqli_fetch_all 来获取数组