mysql小参考

1,导出mysql数据库里ecshopd

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, varchartextenum(枚举类型)

但是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字段,关联起来了

2ecs_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 '诺基亚%';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值