怎么连接数据库
1. 连接数据库
$mysqli = new Mysqli("ip地址","数据库用户名","数据库密码","数据库名");
mysqli_query($mysqli,"set names 'utf8'");// 解决数据库查询乱码问题
2. 判断数据库是否连接成功
// $mysqli->connect_errno 如果为0 代表连接成功
if($mysqli->connect_errno){
die();
}
3. 写SQL语句
$sql = "";
4. 执行SQL语句
$result = $mysqli->query($sql);
5. 对结果集的条数
- 如果结果只有一条的时候
$row = $result->fetch_assoc()
- 如果结果有多条的时候
while($row=$result->fetch_assoc()){
$data[] = $row
}
单表查询
1. 查询小于某个条件的
select * from 表名 where id < 10
<> 相当于 !=
2. 多个条件
使用and or 进行连接
select * from 表名 where 条件1 and 条件2
3. limit
取出指定的条数
select * from 表名 where type_id = 2 limit 0,10
limit 开始位置,要取出的数目
4. 给字段取别名
没有改变字段的原有名字
select 字段名 as 别名,字段名 as 别名,...,字段名 as 别名 from 表名
select 字段名 别名,字段名 别名,...,字段名 别名 from 表名
5. 排序
order by 字段名 排序规则
排序规则
desc 倒序
asc 升序
结合where 和 limit 有先后顺序
where ... order by ... limit
如果第一个排序重复,那么可以指定第二个排序规则
SELECT * from t_articles order by author desc , id asc
6. 聚合函数 group by 分组
select count(*) from t_articles group by type_id
having 可以在聚合中进一步筛选
having 后只能是汇总的字段或者是聚合函数
SELECT type_id,count(*) from t_articles group by type_id having count(*)<100
7. 模糊查询 like
select * from t_articles where author like "陈%"
% 代表0-多个字符
_ 代表一个字符
数据库的增删改
1.增
----insert into表名 (字段1,字段2,字段3) values (值1,值2,值3),(值1,值2,值3)
2.删
----delete from 表名 where 字段 = 值
3.改
----update 表名 set 字段 = 值 where 字段 = 值
----字符替换:
update 表名 set 字段 = replace(字段,原来的字符串,新的字符串)