这里以MySQL数据库为例。
登录数据库
mysql -u用户名 -p
创建数据库
create database 库名;
查看建库语句
show create database 库名;
查看所有数据库
show databases;
删除数据库
drop database 库名;
使用数据库
如果需要在一个数据库中建立数据表,需要先使用use进入指定数据库。
use 库名;
查看数据库中数据表
show tables;
创建数据表
create table 表名(id int,name varchar(32),password varchar(32));
//id,name,password是字段名;int,varchar是字段值的类型。
/*************数据类型说明**************/
整形 所占字节 取值范围
tinyint 1字节 -128~127
smallint 2字节 -32768~32767
mediumint 3字节 -8388608~8388607
int 4字节 -2147483648~2147483647
bigint 8字节 +-9.22*10的18次方
浮点型
float(m,d) 4字节 单精度浮点型,m总个数,d小数位
double(m,d) 8字节 双精度浮点型,m总个数,d小数位
decimal(m,d) decimal是存储为字符串的浮点数
字符型
char 0~255字节 定长字符串
varchar 0~655355字节 变长字符串
时间类型
date 4字节 日期,格式:2020-02-02
auto_increment 自动增加,只用于整形,可以设置起始值,默认为1
常与后面primary key一起使用
创建表时在整形字段后面加上auto_increment=其实值 primary key
//字段设置为自增:;
alter table 表名 modify 字段名 int auto_increment primary key;
查看建表语句
show creata table 表名;
查看表结构
desc 表名;
修改表名
alter table 表名 rename 修改后的表名;
删除表
drop table 表名;
增加表字段
alter table 表名 add 字段名 字段类型;
//添加字段的顺序
alter table 表名 add 字段名 字段类型 first; //第一个字段
alter table 表名 add 字段名 字段类型 after 已有字段名 //在某个字段后插入
修改表字段
alter table 表名 change 字段名 修改后字段名 字段类型;
修改表字段值
alter table 表名 modify 字段名 修改后的值;
删除表字段
alter table 表名 drop 字段名;
增加数据
方法一:
insert into 表名 values(1,"admin","password","中国");
方法二:
注意:值要和前面的字段互相对应
insert into 表名(id,name,password,address) values(2,"king","root","美国");
方法三:
同时添加多条数据:
insert into 表名(name,age,sex,address) values("成龙",68,"男",“中国",),("乔丹",45,"男",”美国",),("刘亦菲",35,"女",”中国",);
删除数据
delete from 表名 where name="成龙";
修改数据
update 表名 set age=70 where name="成龙";
修改多个值:
update 表名 set age=75,password="test",sex="女" where name="成龙";
查询数据
查询表中所有数据:
select * from 表名;
查询指定数据:
select * from 表名 where name="成龙";
查询指定字段:
select name,age,address from 表名;
查询指定字段指定数据:
select id,name,sex from 表名 where id>3;
查询指定区间数据:
select * from 表名 where age between 40 and 60;
其他条件:
between 值 and 值 指定数据区间
or 或
!= 不等于
<>值 不包含(等同于"!=")
in<值> 包含
like ‘%龙’ 模糊查询
order by 字段名 升序排列
order by 字段名 desc 降序排列
limit 指定读取哪几行数据(可用于分页)
多表查询
【内联查询】
select 表1.字段 [as 别名],表n.字段 from 表1 inner join 表2 on 条件;
说明:以上方式的inner关键字换成cross同样可以,也可以省略。
【左连接】以左表为基准
select 表1.字段 [as 别名],表n.字段 from 表1 left join 表n on 条件;
【右连接】以右表为基准
select 表1.字段 [as 别名],表n.字段 from 表1 right join 表n on 条件;
【嵌套查询】(查询速度慢,不推荐)
select 字段名 from 表 where 字段 in(select 字段名 from 表);
主键索引
alter table king add primary key(id);
普通索引
alter table king add index(age);
唯一索引
alter table king add unique(password);
全文索引
alter table king add fulltext(address);
$link = mysqli_connect('localhost','root','password');
if (!$link)
{
exit('数据库链接失败');
}
mysqli_set_charset($link,'utf8'); //注意这里不带“-”
mysqli_select_db($link,'mysql');
$sql = "select * from user";
$res = mysqli_query($link,$sql);
$result = mysqli_fetch_assoc($res);
mysqli_close($link);
mysqli_fetch_assoc($result) //从结果集中取得一行作为关联数组
mysqli_fetch_row($result) //返回一个索引数组
mysqli_fetch_array($result) //返回一个有索引又有关联的数组
mysqli_num_rows($result) //返回查询时候的结果集的总条数
mysqli_affected_rows($link) //返回你修改、删除、添加的时候受影响的行数
mysqli_insert_id($link) //返回你插入的当前数据的自增id
数据库连接示例
<?php
$link=mysqli_connect('127.0.0.1','root','root');
if(!$link)
{
exit('数据库链接失败!');
}
mysqli_set_charset($link,'utf8');
mysqli_select_db($link,king);
$sql = "select * from info";
$send = mysqli_query($link,$sql);
$result = mysqli_fetch_assoc($send);
var_dump($result);
mysqli_close($link);
?>
<?PHP
$page = empty($_GET['page']) ? 1 : $_GET['page']; //获取页数
//连接数据库
$link = mysqli_connect('localhost','root','root');
//判断数据库是否连接成功
if(!$link)
{
exit("数据库连接失败");
}
//设置字符集
mysqli_set_charset($link,'utf8');
//选择数据库
mysqli_select_db($link,'king');
/******************分页部分****************/
//获取数据条数
$sql = "select count(*) as count from info";
$result = mysqli_query($link,$sql);
$pageRes = mysqli_fetch_assoc($result);
$count = $pageRes['count']; //总数
//定义每页显示5条数据
$num = 5;
//计算需要显示的页数
$page_count = ceil($count/$num);
//根据总页数求出偏移量
$offset = ($page - 1) * $num;
//上一页
$back = $page - 1;
if($back < 1)
{
$back = 1;
}
//下一页
$next = $page + 1;
if($next > $page_count)
{
$next = $page_count;
}
/******************分页结束**************/
$sql = "select * from info limit " .$offset.','.$num;
//发送SQl语句
$res = mysqli_query($link,$sql);
/*********次数处理数据结果显示省略。。。。*********/
//关闭数据库,释放资源
mysqli_close($link);
?>
<!-页面切换标签定义->
<br /><br />
<a href="demo2.php?page=1">首页</a>
<a href="demo2.php?page=<?=$back;?>">上一页</a>
<a href="demo2.php?page=<?=$next;?>">下一页</a>
<a href="demo2.php?page=<?=$page_count;?>">尾页</a>
显示效果:
原文:https://www.cnblogs.com/k1ng/p/12355816.html