文章目录
MySQL命令行进入
方式一:在Windows命令行方式下输入MySQL命令进入
命令格式
MySQL -h主机地址 -u用户名 -p用户密码
-h主机地址:一般是IP地址或域名,如果数据库在本机的话,可以写:如 -h127.0.0.1或者-hlocalhost
-u用户名:为登录数据库的用户名,如root
-p密码:为登录数据库用户的密码。
操作步骤
- 进入windows命令行窗口(cmd)
- 输入Mysql命令行方式
因为默认在当前路径下查找mysql命令,所以要去寻找Mysql路径
- 打开资源管理器,复制mysql.exe所处地址
- 粘贴到cmd中,进入该路径
去掉C:,按下回车
- 输入mysql语句
mysql -hlocalhost -uroot -p(密码空直接回车)
- 将mysql.exe所在路径设置为系统预先设置好的路径,保障在任意路径下都可以执行mysql命令
完成,点击确认退出。
成功~
方式二:WAMP的操作菜单中进入
成功~
MySQL命令行操作
1 查看数据库:show databases;
2 创建数据库:create database数据库名;
3 选择数据库: use 数据库名称;
4 查看数据库表:show tables;
5 创建一个数据库表,如:create table (name varchar(20), sex char(1));
6 显示表的结构: describe mytable;
7 往表中加入记录,如:insert into mytale values (”Cao Shugui”,”M”);
8 删除记录 ,如:delete from mytable;
9 更新记录,如:update mytable set sex=”f” where name=’Cao Shugui’;
10 删除表,如:drop table mytale;
11删除数据库:drop database 数据库名
phpMyAdmin基本操作
phpMyAdmin 是众多 MySQL图形化管理工具中使用最为广泛的一种,这里主要学习phpMyadmin的基本操作
操作1:打开进入phpMyAdmin
操作2:创建数据库
操作3:创建表结构
操作4:向表中插入记录
操作5:编辑、导出、删除记录
操作6:SQL语句书写并执行
以前都学过。。
PHP连接数据库
很大一部分和之前文章【web前端开发】数据库MySQL在开发环境的操作重复,接下来只讲不同之处。
不同于之前的连接方式
<?php
//way1
$conn=mysqli_connect("localhost","root","","mydemo");
if(!$conn)
{
die("数据库连接失败".mysqli_connect_error());
}
echo "数据库连接成功";
//way2
$conn=mysqli_connect("localhost","root","","mydemo")or die("数据库连接失败");
echo "数据库连接成功";
?>
数据库连接的语法格式可以是:
mysqli_connect(“主机”, “用户名”, “密码”,”数据库名”)
密码无:则不填
数据库名
PHP执行SQL语句
PHP下执行SQL语句的格式:
mysqli_query (连接标识符,SQL语句);
修改字符集:
mysqli_query($conn,‘set names utf8’); //告诉服务器,本页面的字符集是utf8
1.插入语句insert
$conn=mysqli_connect("localhost","root","111111","mydb") or die("数据库连接失败");
echo "数据库连接成功";
mysqli_query($conn,'set names utf8'); //告诉服务器,本页面的字符集是utf8
$sql="insert into student(stu_no,stu_name,sex,birthdate,telephone,email) values('17010105','王平','男','1998-05-01','18806547811','wangping@qq.com')";
$result=mysqli_query($conn,$sql)or die("数据插入失败".mysqli_error($conn));
echo "数据插入成功";
2.记录修改语句update
3.记录删除语句delete
格式同上:
$sql=……
$result=mysqli_query($conn,$sql)
mysqli_fetch_row记录集获取
前言
mysqli_fetch_row:可以从记录集中提取当前行数据到一个索引数组中,数组以数字为索引,或者说以数字为键
获取一行数据到数组
<?php
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";//原来是stu这里。。
$result=mysqli_query($conn,$sql)or die("数据查询失败");
$row=mysqli_fetch_row($result);
print_r($row);
$row=mysqli_fetch_row($result);
print_r($row);
?>
循环打印所有记录-print_r方式
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";
$result=mysqli_query($conn,$sql)or die("数据查询失败");
while($row=mysqli_fetch_row($result))
{
print_r($row);
}
循环-直接显示元素值
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";
$result=mysqli_query($conn,$sql)or die("数据查询失败");
while($row=mysqli_fetch_row($result))
{
echo "$row[0],$row[1],$row[2],$row[3],$row[4],$row[5]";
echo "<br/>";
}
mysqli_fetch_assoc记录集获取
mysqli_fetch_assoc:可以从记录集中提取数据到一个关联数组中,以记录集中的字段为键
获取记录集到关联数组
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";
$result=mysqli_query($conn,$sql)or die("数据查询失败");
$row = mysqli_fetch_assoc($result);
print_r($row);
$row = mysqli_fetch_assoc($result);
print_r($row);
和 mysqli_fetch_row + 循环输出不同之处:
此时键为各类的名称,而mysqli_fetch_row键为数字
循环处理记录集数据
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";
$result=mysqli_query($conn,$sql)or die("数据查询失败");
while($row=mysqli_fetch_assoc($result))
{
echo "$row[stu_no],$row[stu_name],$row[gender],$row[telephone],$row[age],$row[college]";
echo "<br/>";
}
与上面的方法输出一致
foreach显示各元素
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";
$result=mysqli_query($conn,$sql)or die("数据查询失败");
while($row=mysqli_fetch_assoc($result))
{
foreach($row as $k=>$v)
{
echo $v;
if($k!="email")echo ",";
}
echo "<br/>";
}
mysqli_fetch_array记录集获取
生成的数组既有数字索引,又有关联键名
把重复出现的语句写在conn.php中了,后面都用 require "conn.php"引出
require "conn.php";
$conn=mysqli_connect("localhost","root","","mydemo") or die("数据库连接失败");
mysqli_query($conn,'set names utf8');
$sql="select * from stu";
$result=mysqli_query($conn,$sql)or die("数据查询失败");
获取数组
require "conn.php";
$row=mysqli_fetch_array($result);
print_r($row);
两种数组都生成了
循环-数字索引
require "conn.php";
while($row=mysqli_fetch_array($result))
{
$cols=count($row)/2;
for($i=0;$i<$cols;$i++)
{
echo $row[$i];
if($i<$cols-1)echo ",";
}
echo "<br/>";
}
花里胡哨的。。while里面的逻辑同下:
echo "$row[0],$row[1],$row[2],$row[3],$row[4],$row[5]";
echo "<br/>";
循环-关联键名
require "conn.php";
while($row=mysqli_fetch_array($result))
{
foreach($row as $k=>$v)
{
if(!is_numeric($k)){
echo $v;
if($k!="email")echo ",";
}
}
echo "<br/>";
}
逻辑同上,但是不同之处在于if(!is_numeric($k)),去掉则每个数据都打印两遍,你懂的。。