数据库基础: 是每一个服务器自带的用来存放数据的空间 mysql
访问数据库:
1. 网页访问数据库: http://localhost/phpMyAdmin/ 输入用户名 密码 登录 phpstudy 默认数据的用户名和密码都是root
2. cmd访问数据库: cmd必须进入数据库的bin目录
cmd命令:
d: 回车 进入某个盘符
dir 回车 查看当前文件夹下的所有目录
cd 文件夹名 进入某个文件夹
进入bin目录之后 链接数据库
mysql -u用户名 -p密码 回车
3. 使用工具链接数据库: navicate for mysql
链接数据库: 链接名 自己取 不限
4. php链接数据库
新建数据库: 在mysql下面可以有很多数据库 一般一个项目一个数据库
数据库名是项目的英文名
字符集: utf8 -- UTF-8 Unicode
排序规则: utf8_general_ci
一个项目会有很多的功能 一个功能一个数据表
数据库下面会有很多的数据表
新建表:
字段: 表中每一列数据的标题
一般一张表的第一个字段是id 用来排序 int类型 不允许为空 自动递增 主键
主键: 是一张表的唯一标识 (一张表中只能有一个主键 并且一般都是给id)
字段的数据类型:
字符串类型:
char(m) m的取值范围是1-255之间 m代表字节 表示存放的数据必须是字符类型 并且固定长度m
当数据的长度没有超过m的时候 自动补齐到m 当长度超过m 会剪切至m
name char(20)
30
varchar(m) m的取值范围是1-255之间 表示存放的数据必须是字符类型 可变长度
当数据长度没有超过m 长度内容决定(不会自动补齐 ) 当长度超过m 会剪切至m
name varchar(20)
aa [aa]
tinytext 存放字符型数据 最多只能存放255字符
text 存放字符型数据 最多可以存放65536字符
注意: 只要是字符类型 都要设置编码
字符集:utf8
排序规则:utf8_general_ci
数字类型:
整数:
tinyint 有符号 -128 +127 无符号 0-255
smallint 有符号 -32768 +32677 无符号 0-65535
int 十位数字
bigint 二十位数字
只要选择了自动递增 一定是int
年龄 tinyint 无符号
科学运算 bigint
价格 smallint
小数:
float 单精度 精确到小数点后8位
double 双精度 精确到小数点后16位
decimal(m,n); 货币类型 m 总的位数 n小数位数
shopprice decimal(6,2) 32.00
日期/时间类型: 2018-04-18 10:10:20
datetime 8字节 混合类型 年-月-日 时:分:秒 Y-m-d H:i:s
timestamp 4字节 混合类型 年-月-日 时:分:秒 Y-m-d H:i:s
date 3字节 日期类型 年-月-日 Y-m-d
time 3字节 时间类型 时:分:秒 H:i:s
------------------
sql语句: 是数据库的核心语言
sql语句对表的填删改查操作 : curd : c create(添加) u update(修改) r read(查询) d delete(删除)
查询: 在sql语句中 表名和字段名加上`` 加快sql语句的运行速度
select 字段,字段 from 表名
select `name`,`title` from `liuyanban` 查询liuyanban表中name和title字段
select * from `liuyanban` 查询liuyanban表中所有字段 *代表所有
select * from `liuyanban` where `id`=2 查询liuyanban表中 id=2的数据
select * from `liuyanban` where `id`2 查询liuyanban表中 id不等于2的数据
select * from `liuyanban` where `id`!=2 查询liuyanban表中 id不等于2的数据
select * from `liuyanban` where `id`
select * from `liuyanban` where `id`>2 查询liuyanban表中 id大于2的数据
select * from `liuyanban` where `id` in(1,4,3) 查询liuyanban表中 id的值在in的()里面的数据
select * from `liuyanban` where `id` not in(1,4,3)查询liuyanban表中 id的值不在in的()里面的数据
select * from `liuyanban` where `id` between 2 and 4 查询liuyanban表中 id的值在2-4之间
select * from `admin` where `name`='admin' and `pwd`='admin123' and 并且
select * from `admin` where `name`='admin' or `pwd`='admin123' or 或者
select * from `liuyanban` order by `time` desc 按照时间的降序排列 desc 降序 asc 升序
select * from `liuyanban` where `id` in(1,3,4) order by `time` desc
如果有where条件 order by 必须放在where条件的后面
select * from `liuyanban` limit 0,3 限制查询的条数 limit 起始位置,查询的条数 第一条数据的位置是0
select * from `liuyanban` where `id` in(1,3,4) order by `id` desc limit 0,2
where order by limit 顺序不能乱
select count(*) from `liuyanban` 查询表中总的数据条数
select count(*) as allnum from `liuyanban` as 取别名
select max(id) from `liuyanban` 查询表中最大的id值
select min(id) from `liuyanban` 查询表中最小的id值
select avg(id) from `liuyanban` 查询表中id的平均值
select sum(id) from `liuyanban` 查询表中id的和
添加:
insert into 表名 (字段,字段,字段) value(值1,值2,值3)
insert into `admin` (`name`,`pwd`) value('root','root123')
修改:
update 表名 set 字段=值1,字段=值2,字段=值3 where 条件
update `admin` set `name`='user',`pwd`='user123' where `id`=2
删除:
delete from 表名 where 条件
delete from `liuyanban` where `id`=4
领取专属 10元无门槛券
私享最新 技术干货