PHP date()格式MySQL中插入datetime方法

当使用PHP在MySQL中编写查询时,它的适用性将基于MySQL本身进行检查。所以使用MySQL提供的默认日期和时间格式,即'YYYY-MM-DD'

例子:

ATE: YYYY-MM-DD
Example: 2019-01-28

DATETIME: YYYY-MM-DD HH:MI:SS
Example: 2019-01-28 23:50:30

TIMESTAMP: YYYY-MM-DD HH:MI:SS
Example: 2019-01-28 23:50:30

YEAR: YYYY or YY

用于创建DataBase的MySQL查询:

CREATE DATABASE Date_time_example;

示例1:用于创建数据库和表的PHP程序

<?php 

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test"; 

// 创建连接
$conn = mysqli_connect( $servername, $username, $password, $dbname ); 

// 检查连接
if ( !$conn ) {
  die("Connection failed: " . mysqli_connect_error());
} 

// 创建表的SQL查询
$sql = "CREATE TABLE date_test (
  id INT AUTO_INCREMENT PRIMARY KEY,
  created_at DATETIME
)"; 

if (mysqli_query($conn, $sql)) {
  echo "Table date_test created successfully";
} else {
  echo "Error creating table: " . mysqli_error($conn);
} 

// 关闭连接
mysqli_close($conn);

输出:

Table date_test created successfully

示例2:将日期插入表中的PHP程序。

<?php 

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test"; 

// 创建连接
$conn = mysqli_connect( $servername, $username, $password, $dbname ); 

// 检查连接
if ( !$conn ) {
  die("Connection failed: " . mysqli_connect_error());
} 

// 用于向表中插入数据的SQL查询
$sql = "INSERT INTO date_test( created_at )
    VALUES( '2019-01-28 12:39:16' );"; 

if (mysqli_query($conn, $sql)) {
  echo "New record created successfully";
} else {
  echo "Error: " . $sql . "<br>" . mysqli_error($conn);
} 

// 关闭连接
mysqli_close($conn);

输出:

New record created successfully

示例3:此示例用于显示在2019-01-28上创建的行。使用以下查询显示结果。created_at列不仅包含日期,还包含时间。所以它会显示错误信息。

SELECT * FROM date_test WHERE DATE( created_at ) = '2019-01-28';
<?php 

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test"; 

//创建连接
$conn = mysqli_connect( $servername, $username, $password, $dbname ); 

// 检查连接
if ( !$conn ) {
  die("Connection failed: " . mysqli_connect_error());
} 

//SQL查询
$sql = "SELECT * FROM date_test
WHERE DATE(created_at) = '2019-01-28'"; 

$result = mysqli_query( $conn, $sql ); 

if ($result) {
  echo $result; //打印查询结果
}
else {
  echo "Error: " . $sql . "<br>" . mysqli_error($conn);
} 

// 关闭连接
mysqli_close($conn);

输出:

id created_at
1  2019-01-28 12:39:16

要从DATETIME值获取年,季度,月,周,日,小时,分钟和秒,请使用以下语句中显示的函数:
HOUR(@dt),MINUTE(@dt),SECOND(@dt) ),DAY(@dt),WEEK(@dt),MONTH(@dt),QUARTER(@dt),YEAR(@dt);

(0)

相关推荐

  • pymysql如何解决sql注入问题深入讲解

    1. SQL 注入 SQL 注入是非常常见的一种网络攻击方式,主要是通过参数来让 mysql 执行 sql 语句时进行预期之外的操作. 即:因为传入的参数改变SQL的语义,变成了其他命令,从而操作了数据库. 产生原因:SQL语句使用了动态拼接的方式. 例如,下面这段代码通过获取用户信息来校验用户权限: import pymysql sql = 'SELECT count(*) as count FROM user WHERE id = ' + str(input['id']) + ' AND p

  • mysql导出表的字段和相关属性的步骤方法

    需要导出数据库中表的字段及属性,制成表格保存到word中 首先找到要导的库, 在查询页面输入sql SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注 FROM INFORMATION_SCHEMA.COLUMNS where table_schema ='库名' A

  • Mysql主键和唯一键的区别点总结

    什么是主键? 主键是表中唯一标识该表中每个元组(行)的列.主键对表实施完整性约束.表中只允许使用一个主键.主键不接受任何重复值和空值.表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方.一个表的主键可以被另一个表的外键引用. 为了更好地理解主键,我们创建一个名为Student的表,它具有roll_number.name.batch.phone_number.citizen_id等属性. 在上面的示例中,roll_number属性永远不能具有相同的NULL值,因为在每个大学中

  • MySQL和Redis实现二级缓存的方法详解

    redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储 Redis支持数据的备份,即master-slave模式的数据备份 优势 性能极高 - Redis能读的速度是110

  • MySQL limit性能分析与优化

    一.结论 语法结构: limit offset, rows 结论:rows 相同条件下,offset 值越大,limit 语句性能越差 二.测试 执行测试: 5750000 条数据 sql 1 执行时间: sql 6执行时间: 三.优化 方式一:可根据主键ID等其他索引字段定位到数据位置,然后使用 limit 0, rows 如: select * from gift_record_0 where id >= 43611207 limit 1000 0.14 s 方式二(根据业务需求):针对不需

  • 实例讲解MySQL中乐观锁和悲观锁

    数据库管理系统中并发控制的任务是确保在多个事务同时存取数据库中同一数据不破坏事务的隔离性和统一性以及数据库的统一性 乐观锁和悲观锁式并发控制主要采用的技术手段 悲观锁 在关系数据库管理系统中,悲观并发控制(悲观锁,PCC)是一种并发控制的方法.它可以阻止一个事务以影响其他用户的方式来修改数据.如果一个事务执行的操作的每行数据应用了锁,那只有当这个事务锁释放,其他事务才能够执行与该锁冲突的操作 悲观并发控制主要应用于数据争用激烈的环境,以及发生并发冲突时使用锁保护数据的成本要低于回滚事务的成本环境

  • MySQL中无过滤条件的count详解

    count(*) 实现 1.MyISAM:将表的总行数存放在磁盘上,针对无过滤条件的查询可以直接返回 如果有过滤条件的count(*),MyISAM也不能很快返回 2.InnoDB:从存储引擎一行行地读出数据,然后累加计数 由于MVCC,在同一时刻,InnoDB应该返回多少行是不确定 样例 假设表t有10000条记录 session A session B session C BEGIN; SELECT COUNT(*) FROM t;(返回10000) INSERT INTO t;(插入一行)

  • MySQL中int最大值深入讲解

    导语 前两天看到的问题,展开写一下. 字节 我们都知道计算机是以二进制为基础.存储的基本单位是 Bit,也称为比特.二进制位.1bit 可以表示 0 或者 1 两个数字,是可能存在的最小的信息量,任何小于1 bit 的内容都算不上信息. 复杂的内容就要用多 bit 来表示.Byte ,也称为字节,通常用作计量单位.1 byte 等于 8 bit,即 1 byte 可以表示 28 内容. MySQL 中的字节 先说明一下,在 MySQL 中的整数类型,可以分为 unsigned 和 signed

  • Docker创建MySQL的讲解

    1.下载MySQL Image 命令: docker pull mysql 2.创建容器 命令样例: sudo docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql 命令说明: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具

  • MySQL主从延迟现象及原理分析详解

    一.现象 凌晨对线上一张表添加索引,表数据量太大(1亿+数据,数据量50G以上),造成主从延迟几个小时,各个依赖从库的系统无法查询数据,最终影响业务. 现在就梳理下主从延迟的原理. 二.原理 根据 MySQL 官方文档 MySQL Replication Implementation Details 中的描述,MySQL 主从复制依赖于三个线程:master一个线程(Binlog dump thread),slave两个线程(I/O thread和SQL thread).主从复制流程如下图: m

随机推荐