数据存储文件介绍
.frm是描述了表的结构
.MYD保存了表的数据记录
.MYI则是表的索引
windows
命令:
window + R -> cmd打开命令窗口
配置path环境变量
mysql -u root -p / mysql -uroot -p password;用户名和密码
mysql mydb -u root -p / mysql mydb -u root -p newpassword 修改密码
数据库操作命令
命令
作用
show databases
显示所有数据库列表
create database 数据库名
创建数据库
use 数据库名
选中指定名称数据库
show tables
显示数据库中所有表
desc 表名
查看表结构
drop database 数据库名
删除指定数据库
select database()
显示当前选择数据库
select version()
显示mysql版本
select now()
显示当前时间
基础语句
选择:select * from table where "范围"
插入:insert into table (字段1,字段2..) values (value1,value2..)
更新:update table set 字段1=value,字段2=value2 where 范围
删除:delete from table where 范围
like 模糊查找
select * from table where 字段 link ‘%value%‘
数学运算
排序 select * from table order by 字段 desc(降序)/asc(升序)
计数 select count(*)from table as totalcount
平均 select avg(字段) from table as avgvalue
最大 select max(字段) from table as maxvalue
最小 select min(字段) from table as minvalue
分组 select 字段, count(*) from table group by 字段
高级运算
UNION 运算符
UNION 组合两个结果表(例如 TABLE1 和 TABLE2)并消去表中重复行而派生出一个新的表格。
UNION All 不消除重复行。
两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
EXCEPT 运算符
EXCEPT 通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
INTERSECT 运算符
INTERSECT 通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
** 连接数据库
header(‘Content-type:text/html;charset=utf-8‘);
$db = new mysqli(‘localhost‘,‘root‘,‘‘,‘mydatabase‘,‘3306‘);
$db->set_charset(‘utf8‘);
if($db->connect_errno){
echo ‘数据库连接失败‘.$db->connect_errno;
}
** 查询数据
* select 字段1,字段2,字段3...(*代表所有的字段) from 表格名称;
$result = $db->query("select * from register ");
$arr=[];//定义数组对象用于保存数据
while($row = $result->fetch_assoc()){
$arr[] = $row;
}
echo json_encode($arr);//将$arr转换为json格式
** 删除数据
* delete from ‘表格名称‘ where 字段名=‘字段值‘;
$num = $_POST[‘index‘];//接收所要删除的字段名
$db->query(‘delete from register where id=‘.$num);
if($db->affected_rows>0){
echo ‘删除成功‘;
}else{
echo ‘删除失败‘;
}
** 修改数据
* updata 表格名称 set 字段1=‘字段值‘,字段2=‘字段值‘... where 列名=‘列值‘;
$db->query("update register set sex=‘男‘ where id=1");
** 添加数据
* insert into 表格名称 (列名1, 列名2, 列名3,...) values (列1值, 列2值,列3值,...)
$add ="insert into register (username,age,sex,tel,email,address) values (‘薇薇安‘,‘20‘,‘女‘,‘13445678911‘,‘456789@sina.com‘,‘南京‘)";
$db->query($add);