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 tbl_name[(字段名称…)] SELECT 字段名称,… FROM tbl_name [WHERE 条件]

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

  • 修改记录

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

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

  • 删除记录

    • TRUNCATE [TABLE] tbl_name;

    • 清除表中所有记录

    • 会重置AUTO_INCREMENT的值

    • DELETE FROM tbl_name [WHERE 条件]

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

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

    • 彻底清空数据表

  • 查询记录

    • SELECT FROM tbl_name; 所有字段

    • 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 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="INSERTINTO`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){echojson_encode(["id"=>1,"mgs"=>"注册成功"],320);}else{echojson_encode(["id"=>0,"mgs"=>"注册失败"],320);}//点击按钮$("button[name='button']").click(function(){letdata={};//用户名数据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*FROMUSERWHEREUNAME='{$username}';";$connect=$pdo->query($select)->fetchAll(PDO::FETCH_ASSOC);if(empty($connect)||!preg_match("/^[A-Za-z]/i",$username)){echojson_encode(["id"=>1,"mgs"=>"不是字母"],320);}else{echojson_encode(["id"=>0,"mgs"=>"是字母"],320);}//设置用户名失去焦点的时候检查第一个字母是否是字母$("input[name='username']").blur(()=>{vardata={};//用户名数据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("<spanstyle='color:green';>用户名不存在</span>");}else{$("#error_msg").html("<spanstyle='color:red';>用户名存在</span>");}},"json");});

更多相关文章

  1. 【PHP 面向对象】面向对象(OOP)编程之PDO对象操作数据库知识点归
  2. 那么火的肿瘤免疫分析,这个在线数据库就能搞定!
  3. 0511 mysql基础 与 pdo作业
  4. MySQL数据库基本操作常用命令详解
  5. php之数据库链式操作
  6. sysbench在美团点评中的应用
  7. 新增命令
  8. 创建数据库
  9. PHP:oop->重载之set/get/call/callStatic,oop事件委托,数据库查询

随机推荐

  1. Android中应用多进程的整理总结
  2. Android和IOS系统对比
  3. Android术语
  4. TensorFlow及OpenCV在Android中的实际应
  5. Android视频播放之边缓存边播放
  6. Android的Camera架构简介
  7. Android(安卓)ContentProvider总结
  8. Android TV开发(二)处理TV硬件
  9. LTP(Linux Test Project) for Android的
  10. [Xamarin] 開啟另外一個Activity 並且帶