介绍:
数据库:顾名思义,就是存储数据的仓库。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
常见的数据库: oracle, mysql, sql server MongoDB 等
安装mysql
wamp集成环境中已经自带mysql。安装wamp时,已经安装上了mysql软件。
介绍
要想操作mysql中的数据,我们需要使用一种语言叫做sql来实现。
SQL(Structured Query Language) 是一种结构化查询语言,使用它可以对数据库中的数据进行增删改查。
编写sql语句
mysql安装的时候默认自带客户端和服务端的,在mysql客户端中编写sql就可以操作数据库中的数据。
使用mysql客户端,需要在cmd中进入到mysql安装的bin目录中,执行以下命令:
mysql -u 用户名 -p 密码
敲回车就进入到了mysql模式的交互环境了,此时可以写sql语句进行数据库的操作。
设置中文(window下)
set names utf8;
set character_set_database=utf8;
set character_set_server=utf8;
set character_set_client=gbk;
set character_set_connection=gbk;
show variables like "character%"; #查看数据库的默认编码格式
数据库操作相关sql语句
show databases; #查看mysql有多少个数据库
create database 数据库名 charset utf8; #创建数据库
drop database 是数据库名; #删除数据库
use 数据库名; #选择操作哪个数据库
例子:
create table 表名(字段名 类型,字段名 类型.....); #创建数据表 添加字段
create table user(id int primary key auto_increment not null,name char(30) not null default "小错",sex enum("男","女","未知") default "未知",age tinyint(5) not null default 1) charset utf8;
主键 primary key auto_increment
实际开发中每个表基本都会有一个主键,其作用是确保每条记录的唯一性,后面就是通过此主键值对表中的每条记录进行增删改查操作。
主键的值是自动增长的,设置auto_increment即可,该主键字段的值由mysql自动维护。
数据操作相关sql语句
show tables; #查看数据库中的数据表
desc 表名;#查看表结构
drop table 表名; #删除数据表
添加(insert into)
insert into user set name="小张",sex="女";
删除(delete)
delete from user where id=4; #删除id=4的数据;
更新(update)
update user set age="24" where id=1;
查询
select * from user where sex="nv"; #查询所有表sex=nv的内容
select * from user where sex="男"; #查询所有sex="男"的数据
通过php操作mysql
通过php操作mysql的基本步骤:
连接mysql ->选择数据库->编写sql语句->执行sql语句获取结果
z
* 连接数据库
$link = mysql_connect('ip地址','用户名','密码');
* 选择数据库
mysql_query('use 数据库名')
* 执行sql语句
$result = mysql_query('sql语句')
* 获取select查询语句的结果
$result = mysql_query('select * from users'); //返回结果集
$rows = [];
echo "<pre />";
while($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
print_r($rows);
* 获取增删改语句的结果
$sql = "insert/update/delete....";
$result = mysql_query( $sql);
$num = mysql_affected_rows() ; //返回受影响行数,大于0说明成功
if($num > 0){
echo '成功';
}else{
echo '失败';
}
数组转JSON字符串
$res = mysql_query($sql); // 执行sql语句,返回结果集
$num = mysql_affected_rows(); //返回受影响行数,大于0说明成功
if($num > 0){
$rows = [];
// mysql_fetch_assoc函数每次从结果集中取得一行作为关联数组
while($row = mysql_fetch_assoc($res)){
$rows[] = $row;
}
echo json_encode($rows,JSON_UNESCAPED_UNICODE);//数组转JSON字符串
exit();
}else{
echo '{"err": "true", "msg": "找不到用户"}';
exit();
}
"select * from article limit $offset,$pagesize";