关于mysql一些语法的总结(摘抄自菜鸟教程)
终端打开mysql
root -u root -p
补充
php设置编码,防止中文乱码
mysqli_query(connection,“set names utf8”);
输出获取过程中错误
mysqli_error(源头);
释放内存
mysqli_free_result(结果集);
关闭数据库连接
mysqli_close(connection)
管理mysql的命令
方法 | 命令 |
---|---|
使用数据库 | use 数据库名字; |
列出数据库管理系统的数据库列表 | show databases; |
显示指定数据库中的所有数据表 | show tables; |
显示数据表的属性,属性类型,主键信息,是否为null,默认值等其他信息 | show columns from 数据表; |
有但不常用 | 有但不常用 |
数据库
连接数据库
php连接数据库
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
创建数据库
create database 数据库名;
使用PHP脚本创建数据库
mysqli_query(connection, query,resultmode);
connection | query | resultmode |
---|---|---|
(必须)规定要使用的mysql连接 | (必须)查询语句 | (可选)MYSSQLI_USE_RESULT(检索大量数据),MYSQLI_SPORT_RESULT |
成功返回true,失败返回false!
删除数据库
drop database 数据库名;
PHP脚本删除数据库
mysqli_query(connection, query,resultmode)
执行成功返回true;失败返回false!
选择数据库
use 数据库名;
PHP脚本选择数据库
mysqli_select_db(connection,dbname);
MySQL数据类型
MySQL支持多种类型,大致可以分为三类:数值,日期/时间和字符串(字符)类型
MySQL数据表
创建数据表
create table table_name(column_name column_type);
PHP脚本创建数据表
mysqli(connection, query,resultmode)
删除数据表
drop table 数据表名
PHP脚本删除数据表
mysqli_query(connection, query,resultmode)
数据表数据
插入数据
insert into table_name
(field1,field2,…,fieldN)
values
(value1,value2,…valueN)
PHP脚本插入数据
mysqli_query(connection, query,reslutmode)
查询数据
select column_name,column_name from table_name
[where clause]
[LIMIT N][OFFSET M]
其中clause表示条件,N表示规定返回记录条数,M表示开始查询的偏移量
PHP脚本查询数据
//该函数执行sql命令
$retval=mysqli_ query(connection, query,resultmode)
//该函数从结果集中取得一行作为关联数组或者数字数组或二者兼有,作为数组返回;如果没有更多行,则返回false;
r o w = m y s q l i f e t c h a r r a y ( 结 果 集 , M Y S Q L I A S S O C ) 通 过 row=mysqli_fetch_array(结果集,MYSQLI_ASSOC) 通过 row=mysqlifetcharray(结果集,MYSQLIASSOC)通过row[下标/字段名]获取数据库中对应值
where子句
在查询数据中有补充
更新数据(update)
update table_name set field1=new_value1,field2=new_value2
[where clause]
php脚本更新数据
mysqli_query(connection, query,resultmode);
删除数据(delete)
delete from table_name [where clause]
php脚本删除数据
mysqli_query(connection, query,resultmode);
补充查询数据(like子句)
select field1,field2,…fieldN
from table_name
where clause
like field=XXX
其中%表示任意字符,_表示单个字符,[]表示括号内所列字符中的任意一个,[^]表示不在括号内的任一个字符
php脚本使用like子句
mysqli_query(connection, query,resultmode);
连接两个以上select的结果放在一个结果集中
select语句
union [all | distinct]
select语句
数据排序
select语句
order by field1 ASC/DESC,field2 ASC/DESC;
其中ASC表示升序,DESC表示降序,默认情况下按照升序ASC排列
PHP脚本
mysqli_query(connection, query,resultmode)
group by语句
该语句可以根据一个列或者多个列对结果集进行分组,在分组的列上我们可以使用count(),sum(),avg()等函数
select语句
group by field [with rollup]
//with rollup可以设置一个总数,对该列所有数据进行一个最后总的统计,并命令为NULL
//可以使用coalesce(a,b,c)
如果a为null则返回b,b为null则返回c,以此类推
表连接
内连接
*inner join (内连接,等值连接):获取两个表的交集
左连接
left join(左连接):获取左表所有记录,即使右表没有对应的记录
右连接
right join(右连接):与左连接相反
php脚本
mysqli_query(connection.query,resultmode);