PHP操作数据库

创建数据库


CREATE DATABASE stu SET utf8mb4 COLLATE utf8mb4_ general_ci ;

MySQL支持多种存储引擎,以插拔式。5.5以前默认使用MYISAM ,之后默
认使用Innodb。

怎么选择?


1:傻瓜式操作,不知道如何选择就选择Innodb。
2:在写入和查找为主的表,使用MYISAM速度更快。比如日志类型的数据表。
3: 当需要使用事务和外键约束时务必选择Innodb。

事务
要么成功,要么失败!
失败时候进行回滚 rollback,增删改查回无效。
成功进行提交commit,持久化到硬盘。

如何选择数据类型?

选择合适的数据类型设置最恰当的长度

1.整型

纯数字,需要表示大小。

  • tinyint
    占用1字节
    有符号/无符号 -128~127/0 ~255

  • samllint
    占用2字节
    有符号/无符号 65535

  • mediumint
    占用3字节
    有符号/无符号 16777216

  • int
    占用4字节
    有符号/无符号 4294967296

  • bigint
    占用8字节 2^64
    有符号/无符号

2.字符类型

保存和检索的方式不同

  • char(M)
    固定长度的字符类型
    假设M=10;最大只能存储10个字节
    固定占用10个字节的空间

当读取时, char类型尾部空格会被去除。因为char是定长,处理速度比varchar快,处理速度比varchar快,可能浪费存储空间。

  • varchar(M)
    可变长度的字符类型
    假设M=10;最大只能存储10个字节需要占用11字节的空间, 0-255需要-
    个字节来表示长度,大于255需要2字节来表示长度。
    根据实际内容长度占用时间的存储空间。
    varchar虽然是可变的字符类型,在
    定义时依然需要指定最合理的长度。
3.日期时间
  • date日期
  • time时间
  • datetime日期时间
  • timestamp日期时间会显示当前实际时区的时间,存储范围较小, 2038年。
  • Year .年份
    在实际开发中,很常用的是保存时间戳。int, time0),strtotime0,mktime0;
4.浮点型和定点型
  • 单精度float(M, N) 插入时会进行四舍五入
  • 双精度double(M , N) 插入时会进行四舍五入
  • 定点型decimal(M , N), 实际以字符串形式+ 存放,更精确。

在写入数据小数位超出指定时,根据SQL MODE设置有不同情况:
1 :正常写入,但是有给出警告。
2:直接写入失败。
3 :可以通过show varibales like ‘%sql
_mode%’

一个原则:跟货币有关系的建议用定点型decimal
不能直接对浮点型进行比较0.1+0.7 = 0.8

字段的命名

不建议使用大写
不建议使用MYSQL内置的关键字select update insert delete

代码测试

<?php

$mysql_server_name='localhost';
$mysql_username='root';
$mysql_password='';
$mysql_database='stu';

//连接数据库的信息

$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接数据库


if (mysqli_connect_errno($conn)) { 

    die("连接 MySQL 失败: ".mysqli_connect_error()); 

}


$sql="select * from stuinfo";
//执行SQL语句
	$query = $conn->query($sql);
	
	while($row = $query->fetch_array()){
	    echo $row['idcard'],'<br>';
	}
	
	//释放资源
	$query->close();
	
	//关闭连接
	$conn->close();
?>

数据库
在这里插入图片描述
结果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值