PHP:MySQL常用DDL数据定义语言, DML数据库操作语言,PDO连接数据库操作

PHP:MySQL常用DDL数据定义语言, DML数据库操作语言,pdo操作数据库的对象方法
一.常用DML数据库操作语言

  • SQL语句语法规范
  • 常用MySQL的关键字我们需要大写,库名、表名、字段名称等使用小写
  • SQL语句支持折行操作,拆分的时候不能把完整单词拆开
  • 数据库名称、表名称、字段名称不要使用MySQL的保留字,如果必须要使用,需要用反引号``将其括起来
命令含义
MySQL -uroot -ppassword登入数据库,-u账号,-p密码
exit退出数据库
SELECT USER();得到登陆的用户
SELECT NOW();得到当前的日期时间
SELECT VERSION();得到MySQL的版本信息
SELECT DATABASE();得到当前打开的数据库
USE db_name;打开指定数据库
SHOW TABLES;查看当前数据库下已有数据表
DESC tbl_name;查看表结构

①MySQL -uroot -ppassword 登入数据库,-u账号,-p密码

②SELECT USER();得到登陆的用户

③SELECT NOW();得到当前的日期时间

④SELECT VERSION();得到MySQL的版本信息

⑤SELECT DATABASE();得到当前打开的数据库

⑥USE db_name;打开指定数据库

⑦SHOW TABLES;查看当前数据库下已有数据表

⑧DESC tbl_name;查看表结构

二.常用DDL数据定义语言

  • 添加记录

  • INSERT [INTO] tbl_name[(col_name,…)] {VALUE|VALUES}(VALUES…);

    • INSERT tbl_name[(字段名称…)] SELECT 字段名称,… FROM tbl_name [WHERE 条件]
  • 修改记录

  • UPDATE tbl_name SET 字段名称=值,字段名称=值 [WHERE 条件]

  • 如果不添加条件,整个表中的记录都会被更新

  • 删除记录

  • DELETE FROM tbl_name [WHERE 条件]

  • 如果不添加条件,表中所有记录都会被删除

  • DELETE 清空数据表的时候不会重置AUTO_INCREMENT的值,可以通过ALTER 语句将其重置为1

  • 彻底清空数据表

    • TRUNCATE [TABLE] tbl_name;
    • 清除表中所有记录
    • 会重置AUTO_INCREMENT的值
  • 查询记录

  • SELECT select_expr,… FROM tbl_name
    [WHERE 条件]
    [GROUP BY {col_name|position} HAVING 二次筛选]
    [ORDER BY {col_name|position|expr} [ASC|DESC]]
    [LIMIT 限制结果集的显示条数]

  • 查询表中所有记录

    • SELECT * FROM tbl_name; *所有字段
  • 指定字段的信息

    • SELECT 字段名称,… FROM tbl_name
  • 库名.表名

    • SELECT 字段名称,… FROM db_name.tbl_name;
  • 给字段起别名

    • SELECT 字段名称 ,… FROM tbl_name [AS] 别名;
  • 表名.字段名的

  • SELECT tbl_name.col_name,… FROM tbl_name;

三.MySQL中的数据类型

  • 数值型

  • 整数型

  • 浮点型

  • 字符串类型

  • CHAR效率高于VARCHAR,CHAR相当于拿空间换时间,VARCHAR拿时间换空间

  • CHAR默认存储数据的时候,后面会用空格填充到指定长度;而在检索的时候会去掉后面空格;VARCHAR在保存的时候不进行填充,尾部的空格会留下

  • TEXT列不能有默认值,检索的时候不存在大小写转换

  • 日期时间类型

三.PDO连接数据库操作
①用户名重复检测


②用户名注册信息传送到数据库表

注册按钮代码块

<?php
//连接数据库



require "/xp/phpstudy_pro/WWW/www.zwz.com/zwz/0511/config/PDO.php";

session_start();
$username = isset($_POST["username"]) ? $_POST["username"] : null;
$password = isset($_POST["password"]) ? md5( $_POST["password"]) : null;
$password2 = isset($_POST["password2"]) ? $_POST["password2"] : null;
$captcha = $_POST["captcha_value"];

//时间戳
$create_time = time();

//sql 语句 数据库表添加
$insert = "INSERT INTO `User` SET `uname` = '{$username}', `pwd` = '{$password}',`create_time` = '{$create_time}';";

$connect = $pdo->exec($insert);



$tips;
if ($connect !== 0) {
    $tips = 0;
}else {
    $tips = 1 ;
}


if (!empty($username) && !preg_match("/^[A-Za-z]/i",$username))
{
    $tips = 0 ;
}else {
    $tips = 1 ;
    
}

if ((!empty($password) && !empty($password2)) && !(strcmp($password,$password2)))
{
    $tips = 1 ;
}else {
    $tips = 0 ;
}

if(strtolower($_SESSION["captcha"]) === strtolower($captcha))
{
    $_SESSION["captcha"]="";
    $tips = 1 ;
}else {
    $tips = 0 ;
}

if ($tips === 1) {
    echo json_encode(["id" => 1 , "mgs" => "注册成功"],320);
}else {
    echo json_encode(["id" => 0 , "mgs" => "注册失败"],320);
}

//点击按钮
$("button[name='button']").click(function () {
  let data = {};
  //用户名数据
  data.username = $("input[name = 'username']").val();
  //密码数据
  data.password = $("input[name = 'password']").val();
  data.password2 = $("input[name = 'password2']").val();

  // console.log(data);
  //判断是否用户输入空值
  $.post(
    "index.php",
    data,
    function (res) {
      if (res.id == 1) {
        alert("注册成功");
      } else {
        alert("注册失败");
        return;
      }
    },
    "json"
  );
});

用户名重复检测代码块

<?php
//引入服务器
require "/xp/phpstudy_pro/WWW/www.zwz.com/zwz/0511/config/PDO.php";
session_start();
//获取用户输入的用户名
$username = $_POST['username'];

$select = "SELECT * FROM USER WHERE UNAME =  '{$username}'; ";


$connect = $pdo->query($select)->fetchAll(PDO::FETCH_ASSOC);

if (empty($connect) || !preg_match("/^[A-Za-z]/i",$username) ) 
{
    echo json_encode(["id" => 1, "mgs" => "不是字母" ],320);
}else {
    echo json_encode(["id" => 0, "mgs" => "是字母" ],320);
}


//设置用户名失去焦点的时候检查第一个字母是否是字母

$("input[name = 'username']").blur(() => {
  var data = {};
  //用户名数据
  data.username = $("input[name = 'username']").val();
  //密码数据
  data.password = $("input[name = 'password']").val();
  data.password2 = $("input[name = 'password2']").val();
  $.post(
    "username.php",
    data,
    function (res) {
      if (res.id == 1) {
        $("error_msg").html("<span style='color:green'; >用户名不存在</span>");
      } else {
        $("error_msg").html("<span style='color:red'; >用户名存在</span>");
      }
    },
    "json"
  );
});


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值