windows 环境下mysql的操作

一,MYSQL 的连接

在下载安装好mysql后,访问数据控之前我们需要先连接数据库:
建立一个connect.php 的文件:
(面向过程)

<?php
header('Content-type: text/html; charset=utf-8');
$host = "localhost";
$username = "root";
$password = "root";// 创建连接
$conn = mysqli_connect($host, $username, $password);// 检测连接
if (!$conn) {die("Connection failed: " . mysqli_connect_error());
}else{
echo "连接成功";
}
mysqli_set_charset($conn,'utf-8');
?>

连接特定的数据库:(连接名为mybase 的数据库)
注释: mybase数据库是已经建好的,数据库名字不分大小写

<?php
header('Content-type: text/html; charset=utf-8');
$host = "localhost";
$username = "root";
$password = "root";
$dbname = "myb";// 创建连接
$conn = mysqli_connect($host, $username, $password,$dbname);// 检测连接
if (mysqli_connect_errno($conn)) {die("Connection failed: " . mysqli_connect_error($conn));
}else{echo '连接成功';
}
mysqli_set_charset($conn,'utf-8');

。windows中 默认的username 是root 密码也是root
。header(‘Content-type: text/html; charset=utf-8’);
mysqli_set_charset($conn,‘utf-8’); 这两句是将格式设置为utf-8

简写形式:

<?php
header('Content-type: text/html; charset=utf-8');// 创建连接
$conn = mysqli_connect("localhost", "root", "root", "mybase" );// 检测连接
if (mysqli_connect_erron($conn)){
echo "链接失败" . mysqli_connect_error();
}mysqli_set_charset($conn,'utf-8');

二 建立数据库

前面已经连接成功时,可以创建自己的数据库。
创建一个名为 mybse 的数据库
脚本文件命名为 create_dbase.php:
(面向过程)

<?php
require 'connect.php'; //刚才已经创建了连接数据库的脚本,所以这里直接引用即可
//创建数据库
$sql = "CREATE DATABASE mybase";
if (mysqli_query($conn, $sql)) {echo "数据库创建成功";
} else {echo "Error creating database: " . mysqli_error($conn);
}mysqli_close($conn); // 关闭数据库,必不可少!
?>

三,建立数据库的数据表

创建好名为 mybase 的数据库之后 ,现在在数据库中建立表
(面向过程)
建立 create_table.php :

<?php
require 'connect.php';//连接数据库
//创建数据表
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";if (mysqli_query($conn, $sql)) {echo "数据表 MyGuests 创建成功";
} else {echo "创建数据表错误: " . mysqli_error($conn);
}mysqli_close($conn);
?>

NOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。
DEFAULT value - 设置默认值
UNSIGNED - 使用无符号数值类型,0 及正数
AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 primary key 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。

四,插入数据

建立好数据表后 ,像数据表中插入数据
(面向过程)
建立 insert.php
插入单条数据:

<?phprequire 'connect.php';$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";if (mysqli_query($conn, $sql)) {echo "新记录插入成功";
} else {echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}mysqli_close($conn);
?>

插入多条数据:

<?php
require  'connect.php';$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('luo', 'Doe', 'jlio@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', 'julie@example.com')";if (mysqli_multi_query($conn, $sql)) {echo "新记录插入成功33";
} else {echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}mysqli_close($conn);
?>

运用预处理插入多条数据

预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高。
1,预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 “?” 标记 。例如:

INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)

2,数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出。
3,执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。

相比于直接执行SQL语句,预处理语句有两个主要优点:

预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)。

绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句。

预处理语句针对SQL注入是非常有用的,因为参数值发送后使用不同的协议,保证了数据的合法性。
面向对象)代码如下:

<?php
$host = "localhost";
$username = "root";
$password = "root";
$dbname = "mybase";// 创建连接
$conn = new mysqli($host, $username, $password, $dbname);// 检测连接
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}// 预处理及绑定
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);// 设置参数并执行
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
$stmt->execute();$firstname = "Mary";
$lastname = "Moe";
$email = "mary@example.com";
$stmt->execute();$firstname = "Julie";
$lastname = "Dooley";
$email = "julie@example.com";
$stmt->execute();echo "新记录插入成功";$stmt->close();
$conn->close();
?>

解析以下实例的每行代码:

“INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)”
在 SQL 语句中,我们使用了问号 (?),在此我们可以将问号替换为整型,字符串,双精度浮点型和布尔值。

接下来,让我们来看下 bind_param() 函数:

$stmt->bind_param(“sss”, $firstname, $lastname, $email);
该函数绑定了 SQL 的参数,且告诉数据库参数的值。 “sss” 参数列处理其余参数的数据类型。s 字符告诉数据库该参数为字符串。

参数有以下四种类型:

i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(binary large object:二进制大对象)

五,读取数据库数据

建立 read.php
(面向过程)

<?phprequire 'connect.php';$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);if (mysqli_num_rows($result) > 0) {// 输出数据while($row = mysqli_fetch_assoc($result)) {echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";}
} else {echo "0 结果";
}
mysqli_close($conn);

有条件的读取数据库

WHERE 子句用于过滤记录。

<?php
require 'connect.php';$result = mysqli_query($con,"SELECT * FROM Persons
WHERE FirstName='Peter'");while($row = mysqli_fetch_array($result))
{echo $row['FirstName'] . " " . $row['LastName'];echo "<br>";
}
?>

上述代码 要求显示 firstname = ‘Peter’ 的数据

六,根据特定条件对数据进行排序

ORDER BY 关键词用于对记录集中的数据进行排序。
ORDER BY 关键词默认对记录进行升序排序。

如果你想降序排序,请使用 DESC 关键字。
建立 sort.php
下面的实例选取 “Persons” 表中存储的所有数据,并根据 “Age” 列对结果进行排序:
(面向对象)

<?php
require ‘connect.php’$result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age");while($row = mysqli_fetch_array($result))
{echo $row['FirstName'];echo " " . $row['LastName'];echo " " . $row['Age'];echo "<br>";
}mysqli_close($con);
?>

七,更新(修改)数据库

UPDATE 语句用于更新数据库表中已存在的记录

注释:请注意 UPDATE 语法中的 WHERE 子句。WHERE 子句规定了哪些记录需要更新。如果您想省去 WHERE 子句,所有的记录都会被更新!
建立 updata.php

<?php
require ‘connect.php’mysqli_query($con,"UPDATE Persons SET Age=36
WHERE FirstName='Peter' AND LastName='Griffin'");mysqli_close($con);
?>

本例将 firstname = ‘Petet’ ,lastname =‘Griffin’ 的Age 改为了36

八,删除数据

DELETE FROM 语句用于从数据库表中删除记录。
建立 dalete.php

<?php
require ‘connect.php’;mysqli_query($con,"DELETE FROM Persons WHERE LastName='Griffin'");mysqli_close($con);
?>

删除了 lastname =‘Griffin’ 的数据条。

windows 环境下mysql的操作浅析相关推荐

  1. zbb20180619 mysql windows环境下MySQL重启的命令行说明

    windows环境下MySQL重启的命令行说明 windows+R  弹出运行框   在运行框中输入cmd  + 回车  进入系统的dos窗口 .启动mysql:输入 net start mysql; ...

  2. windows环境下MySQL服务端和客户端安装,超详细

    windows环境下MySQL服务端和客户端安装,超详细 MySQL简介 MySQL的安装步骤 服务端安装 客户端安装 MySQL简介 MySQL是关系型数据库,由n张互相关联的表组成.一般是c或c+ ...

  3. mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...

  4. Windows环境下MySQL的zip包精简方法与安装。

    使用此此方法可以把MySQL的zip安装包从300多M,精简到6M. MySQL 下载地址 https://dev.mysql.com/downloads/mysql/ 精简过程 1. 根目录下只留 ...

  5. Windows环境下Redis安装操作步骤

    一. 下载 1.官网仅提供Linux版本的Redis,github上提供Windows版本的Redis 链接地址:https://github.com/microsoftarchive/redis/r ...

  6. Windows环境下mysql忘记密码如何重置(超新超全)

    在网上找了好多篇帖子,版本不一样用法有点差距,我自己总结了一下现在的版本(MySQL Community Server 8.0.19) 开始了各位,准备好小板凳!! 第一步:关闭正在运行的MySQL服 ...

  7. Windows环境下MySQL 5.7的安装、配置与卸载

    找到你的配置文件 配置文件名:my.ini 如果采用msi安装包的形式,配置文件一般在C:\ProgramData\MySQL下 如果采用zip压缩包的形式,配置文件是没有的,需要自己新建(软件安装的 ...

  8. Windows环境下MySQL 8.0 的安装、配置与卸载

    MySQL官方下载地址 安装步骤 1.新建my.ini文件 文件位置:C:\ProgramFiles\MySQL\mysql-8.0.26-winx64\my.ini (这是我的安装目录,你们根据自己 ...

  9. windows环境下 Mysql数据库自动备份

    确定mysqldump 命令是否可用 1,在 dos模式 下,进入对应mysql bin 目录. 如 本例为 C:\Program Files\MySQL\MySQL Server 5.7\bin 2 ...

最新文章

  1. Java基础--二维数组
  2. 太原益学领军2021年高考成绩查询,益学领军 | 2020寒假高三拼命班火爆进行中
  3. makemoney 秘密
  4. gateway response annotation comes first, then project folder one
  5. am大学计算机科学,曹同学-综合大学排名80的TexasAMUniversity计算机科学硕士
  6. PS基础教程[1]如何制作微信泡泡
  7. LoadRunner 11安装Micosoft Visual C++ 2005 SP1时提示命令行选项语法错误
  8. 2018中国城市建设统计年鉴(Excel版)
  9. Wind量化接口初探
  10. vue项目中使用百度离线地图
  11. rip的metric策略
  12. Matlab中的正态分布概率函数
  13. java基础提升(二):多线程、线程安全、线程状态、等待唤醒机制、线程池
  14. 文件对比工具Beyond Compare使用方法
  15. 百度地图搜索提示层级覆盖问题
  16. 三国志战略版:Daniel_典韦分析
  17. lifi与wifi的论文_lifi和wifi的区别在哪里?
  18. FFmpeg批量转换视频格式
  19. ppt如何录屏?使用一个工具,内容创作和录屏分享,都能满足!
  20. 用k-means对亚洲足球队做聚类

热门文章

  1. 学业水平考试网登录_江西2020年下半年普通高中学业水平考试成绩查询时间及入口...
  2. r语言绘制精美pcoa图_R语言绘制交互式热图
  3. 四十八、第二份国外的Python考试(下篇)
  4. 解决修改/etc/sudoers文件后:报 语法错误 near line 23
  5. 深圳内推 | ​腾讯优图实验室视频组招聘计算机视觉算法研究员/实习生
  6. 抢票 | AI未来说学术论坛第八期 深度学习特别专场
  7. Call for Papers | 2019 年 IEEE 国际进化计算大会
  8. SQuAD文本理解挑战赛十大模型解读
  9. 大规模中文概念图谱CN-Probase正式发布
  10. 生产环境可以用吗_小型熔喷布设备可以生产出好的熔喷布吗?