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 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");});
更多相关文章
- 【PHP 面向对象】面向对象(OOP)编程之PDO对象操作数据库知识点归
- 那么火的肿瘤免疫分析,这个在线数据库就能搞定!
- 0511 mysql基础 与 pdo作业
- MySQL数据库基本操作常用命令详解
- php之数据库链式操作
- sysbench在美团点评中的应用
- 新增命令
- 创建数据库
- PHP:oop->重载之set/get/call/callStatic,oop事件委托,数据库查询