mysql命令

查看数据库列表
show databases;
使用数据库
use xxx;
查看数据表列表
show tables;
创建数据库
create database if not exists school

连接数据库有mysqli和PDO两种方式

$servername = "localhost";
$username = "root";
$password = "123456";


$conn = mysqli_connect($servername, $username, $password);
if(!$conn) {
    die("erorr:". mysqli_connect_error());
}
echo "successful";
mysqli_close();

$servername = "mysql:host=localhost;dbname = root";
$username = "root";
$password = "123456";

try {
    $pdo = new PDO($servername, $username, $password);
    echo "successful";
} catch (PDOException $e) {
    //throw $th;
    echo 'error' . $e->getMessage();
}
  • 创建数据库
$sql="create database if not exists school";
try{
if ($res=$pdo->query($sql) === true) {
	echo 'successful';
} catch (PDOException $e) {
    //throw $th;
    echo 'error' . $e->getMessage();
}

插入数据

如果列设置auto_increment或timestamp,就不需要在sql语句中指定值,mysql会自动为该列添加值

$sql = "insert into user(username,pass) values('123','123')";
$pdo->query($sql);
  • 字符串进行转义处理
$name = $con->real_escape_string($name);

插入多条数据

$sql = "insert into user(username,pass) values
('123','123'),
('123','123'),
('123','123'),
";
$pdo->query($sql);

$sql = "insert into user(username,pass) values ('123','123')";
$sql .= "insert into user(username,pass) values ('123','123')";

$pdo->multi_query($sql);

查询数据

$sql = "select * from user";
$result = $pho->query($sql);
$result->num_rows() 获取到的数据条数
$result->fetch_assoc() 一个用于从结果集中获取一行数据的函数。他一关联数组的形式返回结果,其中列命作为键,对应的值则是该行中各列的值
fetch_row 只取值
fetch_array 以数组的方式拿到所有的键值
  • free_result()
    释放内存资源
$result->free->result();
  • 条件判断
< > = != >= <=
like "%xxx%" like "%xxx" like "xxx%"
between and 用于时间
is null is not null
in (a,b,c)
and or not
  • 排序
order by排序
asc升序,desc降序
  • 限制
select x from a limit 行数 offset 偏移量; 

更新数据

$sql = "update user set usernmae='x', password='x' where id =1";

删除数据

删除表中的重复行

delete t1 from t1, t2 where t1.id=t2.id and t1.id > t2.id;

修改数据表

在这里插入图片描述在这里插入图片描述

预处理语句

预处理语句用于执行带有参数的sql语句:

  • 预处理语句可以提高安全性,对于防止sql注入非常有用;
  • 允许重复使用相同的sql模板而只需更改参数,提高执行效率;
查询

在这里插入图片描述

插入

在这里插入图片描述
affected_row拿到的是最新插入的几条,并不是所有;

其中?为占位符,通过告诉数据库参数的数据类型,可以降低sql注入的风险,参数有以下四种类型:

  • i 整型
  • d double
  • s 字符串,几个参数就加几个s
  • b 二进制大对象BLOB

php8新方法

$name = "xxx";
$sql = "insert into user (username, password, phone) values (?,?,?)";
$conn->execute_query($sql,[$name,'132','123123']);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值