PHP与Mysql

创建数据库和表

  • CREATE DATABASE 语句

    用于在Mysql中创建数据库

  • CREATE TABLE语句

    用于创建Mysql表

    字段限制条件:
    - NOT NULL 值不能为空
    - DEFAULT value 设置默认值
    - UNSIGNED 使用无符号数值类型,0及正数
    - AUTO INCREMENT 设置值在新增记录是每次自动增长
    - PRIMARY KEY 唯一标识

连接数据库

使用mysqli扩展:

$conn=new mysqli($servername, $username, $password, $dbname);

操作数据库

读取数据

使用select语句
SELECT * FROM table_name

插入数据

$sql="INSERT INTO TableName(Column1,Column2,......) VALUES (value1,value2,......);

如果设置了AUTOINCREMENT或TIMESTAMP,不需要再SQL查询语句中指定值;Mysql会自动为该列添加值

插入多条数据

$sql="...;";
$sql.="...;";
$sql.="...";
......

然后用mysqli_multi_query($sql) 来执行多条SQL语句

注意:每个SQL语句必须使用分号分开,因为这是把多个SQL语句用.连接成一个字符串

更新数据

UPDATE 语句用于中修改数据库表中的数据。

UPDATE table_name SET column1=value1,column2=value2 WHERE some_column=some_value

删除数据

DELETE 语句用于从数据库表中删除行。

DELETE FROM table_name WHERE some_column = some_value

预处理语句

预处理语句的工作原理如下:

  • 预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 “?” 标记 。例如:
  • INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)
  • 数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出。
  • 执行:最后,将应用绑定的值传递给参数("?" 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。

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

  • 预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)。
  • 绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句。
  • 预处理语句针对SQL注入是非常有用的,因为参数值发送后使用不同的协议,保证了数据的合法性。

总结起来就是:用于执行多个相同的SQL语句,并且执行的效率更高,预留的值使用参数"?"标记。将问号替换为整形(i),字符串(s),双精度浮点值(d)和布尔值(b)。
INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)
$stmt->bind_param("sss", $firstname, $lastname, $email);

where子句

WHERE 子句用于提取满足指定标准的的记录。

SELECT column_name(s) FROM table_name WHERE column_name operator value

排序ORDER BY

  • ORDER BY 关键词用于对记录集中的数据进行排序。
  • ORDER BY 关键词默认对记录进行升序排序。
  • 如果你想降序排序,请使用 DESC 关键字。
  • ORDER BY用在from 后面,如果存在where子句,则用在where子句后面

SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC

常用函数

  • num_rows()

    判断返回的数据行数

  • fetch_assoc()

    将结果集放入到关联数组

  • fetch_row()

    从结果集中取得一行,并作为枚举数组返回

  • mysqli_query(connection, query, resultmode)

    参数描述
    connection必需。规定要使用的 MySQL 连接。
    query必需,规定查询字符串。
    resultmode可选。一个常量。可以是下列值中的任意一个:
    - MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
    - MYSQLI_STORE_RESULT(默认)

    针对成功的select,show,describe,explain查询,将返回一个mysqli_result对象,针对其他成功的查询,返回true。失败都返回false

  • mysqli_set_charset($connection, ‘utf-8’)

    连接数据库后需设置mysql的编码

  • date()

    把时间戳转换为可读性更好的如日期和时间
    date(“y/m/d”) <——> 2019/10/1

实践

PHP与Mysql的实践请参考:https://blog.csdn.net/BUCTOJ/article/details/93107522

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值