本文知识点
- mysql安装
- mysql增删改查
(一)安装
安装很简单网上下载个xampp或者phpstudy即可
安装完以后一定要找到mysql安装包下面的bin目录,然后在计算机属性里面添加环境变量即可
(二) mysql登录
- 登录mysql
$ mysql -u root -p
这个时候按下回车他会让你输入密码。一般情况下密码是root
这样就登录成功了.登录成功以后,下面就是基本操作指令了
(三) mysql 使用
(1)数据库的操作
- 显示数据库
$ show databases;
- 使用数据库
$ use 数据库名字;
- 创建数据库
$ create database 数据库名字 charset utf8;
必须设置字符集
- 删除数据库
$ drop database 数据库名字
- 表能改名,但是数据库改不了名字 phpadmin能做到
(2)数据库表的通用操作
- 查询数据库下面的所有表
$ show tables;
- 创建表的操作
$ create table 表名 (
id int,
name varchar(20)
) engine myisam charset utf8;
- 删除表的操作
$ drop table 表名
- 修改表名
$ rename table 旧名 to 新名
- 清空表数据 truncate 和 delete最大的区别就是truncate是重新建一张表。而delete是沿用那张表
$ truncate 表名
- 查看表结构
$ desc 表名
- 备注要是使用命令台的话,无论执行增删改查等操作一定要先执行下面的代码
这是因为我们的命令台默认是GBK 而控制台是utf8 所以告诉命令台先使用gbk
这样在使用中文
$ set names gbk
(3)数据库表的增删改查操作
- 插入数据
$ insert into 表名 (字段1,字段2) values ("值1","值2");
案例解析
$ insert into qingche(id,name) values("1","小明");
- 删除数据
delete from 表名 where 列名 = 值
案例赏析
delete from student where name = "小明";
- 修改表数据
update 表名 set 列名=新值 where 列名= 值
- 案例赏析
update student set name = "小红" where id="1"
- 查询
要是查询所有就是
$ select * from 表名
要是查询某一个列就是
select name(列名) from student(表名)
要是查询很多个列就是
select name(列名), scort(列名2) from student(表名);
(4)列的5种子查询
- where 条件查询
$ select * from student where id>=2;
- 模糊查询like
$ select * from teacher where name like '%诺基亚%';
- group by 就是组聚合了。比如 一个字段里面有天津北京等等。用了group by就是把天津都聚合在一起了
$ select goods_name from goods group by goods_number;
这个就是查询商品单号下面的商品名称
- group by 一般配合聚合函数来使用
聚合函数
avg() 返回平均值括号里面写列名
count()返回某列的行数
max() 返回某列的最大值
min() 返回某列的最小值
sum() 返回某列之和
select count(click_count) from goods group by goods_number;
- having 作用于组 必须和group by 配合使用
having 就是条件类似where但是与where不同的是where作用于表和视图,having不行
select goods_name,count(click_count) from goods group by goods_number having count(click_count)>3;
- order by 排序 就是当最终结果出来后按照一列的顺序排序
desc/asc一个降序一个升序
select goods_name,goods_number from goods order by goods_number;
案例
select goods_name,goods_number from goods order by goods_number desc;
- limit 限制 就是每页显示多少条 这样每页就显示10个了
select goods_name,goods_number from goods order by goods_number desc limit 10;
- offset偏移量 ,跳过多少行
select goods_name,goods_number from goods order by goods_number desc limit 10 offset 10;
limit 和offset配合一起来说用分页
- 左连接 left join b on 条件
左连接 就是两张表要是某一个字段相同那么可以两张表的数据一起查询。 左连接依据的就是from后面的表名
比如boy表里面就3条数据。girl里面就4条数据。那么他结果只有3调数据。girl里面的第四条数据被舍弃
要是girl对面的boy里的序号里面没有数据那么就会用null填满
select bname,gname from boy left join girl on boy.hid = girl.hid;
- 内连接就是取交集(了解就好)
(5) 修改表的语法
- 增加列 alter 表名 add 列名 列参数
alter table girl(表名) add age int not null;
- 删除列
alter table 表名 drop 列名
- 修改列
Alter table 表名 change 旧列名 新列名 新类型 新参数
Alter table girl change gname girlname varchar(20);
(6) 列类型
- 整型 int
- 浮点型 float(m,d) m表示的固定位数,d就表示显示的位数
decimal(M,D) m是可变长度。而float则是固定了长度
float(10,2) 表示只能存10位数字,显示2位
- 字符串
char() 固定位数
varchar() 可变位数
Text() 文本类型
- 时间
Date 日期 1998/12/31
Time 时间 13:56:23
datetime 时期时间 1998-12-31 23:50:23
timestamp 时间戳
我们一般存储时间的时候用的都是时间戳。这样方便计算
前端转化时间就是:
var time = new Date(时间戳);