mySql 视频简略笔记

操作MySQL数据库方式:
不管是哪种操作方式,都必须开启对应的扩展。
1、Mysql方式;
Mysql方式存在一些安全性,在高版本的PHP中使用会出现警告信息甚至关闭了此连接方式。
操作步骤:
1-1:连接数据库;
1-2:选择数据库并设置字符集;
1-3:执行SQL语句;
1-4:关闭数据库连接。
2、Mysqli方式;
2-1:连接数据库
配置PHP.ini文件,开启mysqli扩展;
extension = php_mysqli.dll前面的分号去掉;
执行连接:mysqli mysqli_connect($dbhost,$dbuser,$password,$database);
2-2:执行查询语句
mysqli_query(mysqli $link,string $query);
$link表示数据库连接句柄;
$query要执行的SQL语句。
注意在查询结果前养成一个良好的习惯,设置数据库字符集:
bool mysqli_set_charset(mysqli $link,string $charset);
mysqli_query($link,'set names 字符集');
2-3:获得查询结果
mysqli_fetch_array()-返回一个结果集,可以通过第二个参数指定返回格式,默认是既有关联数据
又有索引数组 MYSQLI_ASSOC/MYSQLI_NUM/MYSQLI_BOTH.
mysqli_fetch_assoc() - 仅返回一个关联数组结果集;
mysqli_fetch_row()   - 仅返回一个索引数组结果集;
mysqli_fetch_object()- 返回结果集的当前行(作为对象)。

2-4:获得影响行数
mysqli_affected_rows(mysqli $link);//插入、更新、删除。
mysqli_num_rows(mysqli_result $result);//查询

2-5:获得错误信息
mysqli_error(mysqli $link);//操作错误
mysqli_connect_errno(); mysqli_connect_error();//连接错误
释放结果集和关闭连接
mysqli_free_result(mysqli_result $result);和mysqli_close(mysqli $link);

2-6;释放结果集和关闭数据库连接
3、PDO方式。
PDO方式安全性好,标准统一,支持多种数据库。


12.删除数据表
1、删除无关联数据表
语法:DROP TABLE [IF EXISTS] TABLE_NAME1,TABLE_NAME2
示例:DROP TABLE SCORES 
2、删除有关联数据表
先解除关联关系
ALTER TABLE F_TABLE_NAME DROP FOREIGN KEY CON_NAME
删除表
DROP TABLE TABLE1,TABLE2...
13.插入数据
1、所有列都插入值
语法:
INSERT [INTO] TABLE_NAME VALUES(V1,V2,...,Vn)
特点--列值同数,列值同序。
为特定列插入值:
语法:
INSERT [INTO] TABLE_NAME(COL1,COL2,...,COLn)
VALUES(V1,V2,...,Vn)
特点:指定顺序,列值对应。
一次性插入多条记录
语法:
INSERT [INTO] TABLE_NAME [(COL1,COL2,...,COLn)]
VALUES(V11,V12,...,V1n),(V21,V22,...,V2n),(V31,V32,...,V3n)...
14.修改数据
修改全部数据:
语法:
UPDATE TABLE_NAME
SET { COL_NAME = EXPRESSION }[,...n]
修改特定数据:
语法:
UPDATE TABLE_NAME
SET {COL_NAME = EXPRESSION}[,...n]
WHERE CONDITION_EXPRESSION

15.删除数据
1、使用DELETE命令删除数据
语法:
DELETE [FROM] TABLE_NAME
[WHERE CONDITION_EXPRESSION] //指定特定条件
2、使用TRUNCATE TABLE删除数据
语法:
TRUNCATE TABLE TABLE_NAME //删除表中所有数据

16.查询基础
1、查询和提取数据的过程
2、SELECT语句简介
语法:
SELECT COL1,COL2,...,COLn
FROM TABLE1,TABLE2,...,TABLEn
[WHERE CONDITIONS]
[GROUP BY GROUP_BY_LIST]
[HAVING DONDITIONS]
[ORDER BY ORDER_LIST [ASC|DESC]]

17.简单查询
1、查询表的全部行和列
SELECT * FROM FORM_NAME;
2、查询表的部分列
3、别名的使用
SELECT USER_QQ [AS] '玩家QQ',USER_NAME [AS] '玩家昵称' FROM USERS
4、DISTINCT关键字
作用:消除结果集的重复行;
SELECT DISTINCT user_qq FROM scores;
5、LIMIT关键字
作用:指定结果集中数据的显示范围。
示例:显示玩家表中第3条至第5条数据
SELECT * FROM USERS LIMIT 2,3;//从下标为2的记录开始取3条。
显示玩家表中前3条数据
SELECT * FROM USERS LIMIT 3;//取前3条

18.条件查询
1、普通条件查询
语法:
SELECT COL_LIST FROM TABLE_NAME
[WHERE CONDITION_EXPRESSION]

比较运算符:
等于:=    不等于:<>  大于:>  小于:<  大于等于:>=  小于等于:<=.
逻辑运算符:
并且:AND   或者:OR   非:NOT.
2、模糊查询
查询信息在一个范围之内。
a AND b <=> BETWEEN a AND b.
NOT BETWEEN a AND b.
通配符:
[NOT] LIKE关键字。
_:代替一个长度的字符; %:代替任意长度的字符; 
[]:指定范围内   [^]:不在括号中。
3、查询空值的运算符
IS [NOT] NULL

19、对查询结果进行排序
1、对指定列进行排序
单列排序要素:
排序依据、排序方式;
语法:SELECT COL_LIST FROM TABLE_NAME ORDER BY ORDER_BY_LIST[ASC|DESC].
2、多列排序
排序依据、排序方式、优先级。
示例:SELECT * FROM SCORES ORDER BY GNO ASC,SCORE DESC;

20、汇总和分组数据
1、聚合函数
sum():求总和; avg():求平均值; min():最小值;max():最大值;count():统计结果集中所有记录行数。
2、在结果集内分组
GROUP BY
3、筛选分组结果
HAVING:以聚合函数结果作为条件。位置一定写在GROUP BY之后。
4、SELECT语句执行顺序
from子句指定数据源;
where子句基于指定的条件对记录进行筛选;
group by子句将数据划分为多个分组;
使用聚合函数进行计算;
使用having子句筛选分组;
使用order by子句对结果集进行排序。

21.连接查询
1、FROM子句进行多表查询
连接分为内连接和外连接。
内连接特点:
相连接的两张表地位相等;
如果一张表中在另一张表中不存在对应数据,则不做连接。
FROM子句后面直接出现多个表名,这种连接方式即属于内连接,是隐式内连接。
显式内连接格式:
SELECT COL_LIST
FROM TABLE1 [INNER] JOIN TABLE2
ON TABLE1.COL=TABLE2.COL
外连接分为左外连接和右外连接.


你可能感兴趣的:(MySQL)