1,导出mysql数据库里ecshop到d盘
mysqldump 指令和 mysql指令是一样的
引出一个环境变量:
就是系统找到需要运行的程序的路径
Mysqldump -u root -p 数据库名 > 导出的文件名
1,找到mysqldump.exe这个程序,它是用来备份的
2,执行备份命令
E:\wamp\mysql\bin>mysqldump -u root -p ecshop > d:/ecshopbak.sql
(2)备份数据库中某个数据表
1,找到mysqldump.exe这个程序,它是用来备份的
2,执行备份命令
E:\wamp\mysql\bin>mysqldump -u root -p ecshop ecs_goods > d:goodsbak.sql
导入外部数据库文件
source 指令是属于mysql的
删除数据表
drop table ecs_goods;
清空数据表中的数据:
delete from 表名
delete 和 drop 区别:
delete q清空数据表中的数据(结构)
drop 删除整个表
编码:
utf-8 统一的编码,它支持中文和英文,建议建表的时候都是用utf-8,利于网站国际化
gb2312 支持大陆的中文,
gbk 包括gb2312,支持韩文,日文,香港。。。
mysql 数据库数据类型(列类型)
1,数值类型(整型,浮点型,定点型)
2,字符串类型(char, varchar,text,enum(枚举类型))
但是enum类型由于兼容性和移植性,不太建议使用
3,日期和时间类型
datetime()------年月日时分秒
date----------年月日
time--------时分秒
时间戳表示时间---------timestamp---------now()
int表示的范围是 --- 0---
tinyint 表示的范围------0-255
smallint--------
有符号 signed ------正负数 -128 到 127 表示的范围也是255个长度
无符号 unsigned------没有正负数 0 -255
如果给全班同学建表
unsinged
字符串类型
char 定长(固定长度)字符串----- 0-65535
varchar 可变长度----varchar (255)多少个字节 ,最多255个
text 大的文本数据
时间日期类型
date()
解析这个数据库函数
timestamp ------------不解析-----所以速度要比mysql日期函数快
我建议使用时间戳表示时间
练习:
给我们的同学建一张数据表,字段包括
学生id
姓名
入学时间
tinyint 255 -128 127 0-255
unsigned
varchar(10) 可变长度,最多10个字节,真正使用几个给你分配几个
char() ---------定长 0-65535,不管字符串或多或少都占用 65535长度
name
time
date, datetime mysql内置的日期函数,mysql引擎查询的时候要先解析 函数,速度慢
timestamp 字符串(‘2013-04-16’)
优化表注意事项:
1,创建id-----尽量表前缀连上id,假如 商品表 goods_id 分类表 cat_id
2,创建表的时候---指定存储引擎------如果查询为主的话,engine=myisam ,为了避免乱码----指定utf8 default charset
3,尽量使用时间戳或字符串 表示日期和和时间
4,字段(数值,字符串)
(2)查询语句:
获得商品id为 3 5 7 8 的商品信息
group by 分组的使用
1,商品表和商品分类表,通过在商品表中增加 cat_id字段,关联起来了
2,ecs_category分类表,保存的是商品的分类 id
注意:
//查询不同cat_id,下面对应的不同的商品数量
(1)先根据分类,分组
(2)再统计分组里面的商品的数量
group by 根据xx来分组,
如果合计函数,和group by 一起使用的话,统计的是当前分组内的数据
练习题:
查询不同的商品分类下面,商品价格的总和
查询不同的商品分类下面,价格最高的商品
查询不同的商品分类下面,商品价格的平均数
合计函数:
Max:最大值
M1in:最小值
Count():统计总的记录数
Avg:平均数
Sum:求和
having 和 where 区别:
where:限制的是整个数据表中字段
select goods_name from ecs_goods where goods_id=9;
having: 限制的条件是:前面查询的结果,这个结果有什么条件
union查询
union 联合 连接
union可以将多个查询语句连接起来,select 1 union select2
(select goods_name from ecs_goods where cat_id=3 order by shop_price desc limit 3)
union (select goods_name from ecs_goods where cat_id=4 order by shop_price asc li
mit 3);
//查询手机类型下面的所有的手机品牌
mysql> select cat_name from ecs_category where cat_id=1 union select cat_name fr
om ecs_category where parent_id=1;
子查询
如果一个select查询语句 包含了另一select查询语句 就称之为子查询
(1)select型子查询
select goods_name from ecs_goods where cat_id=(select cat_id from ecs_cat
egory where cat_name = 'GSM手机');
(2)from型子查询
需要注意:
from后面的子查询列表 要有自己的别名
select goods_name from(select * from ecs_goods where cat_id in(3,5)) as t
em_goods where goods_name like '诺基亚%';