开发工具:
文件大小: 231kb
下载次数: 0
上传时间: 2019-10-11
详细说明:整理了mysql的基本操作 和 练习手册.
具体目录:
一 复习前的准备
二 基础知识:
1.数据库的连接
2:库级知识
3: 表级操作:
3.1 显示库下面的表
3.2 查看表的结构:
3.3 查看表的创建过程:
3.4 创建表:
3.5 修改表
4:列类型讲解
整型:
参数解释:
数值型
字符型
日期时间类型
5:增删改查基本操作
5.1 插入数据
5.3 . 修改数据
5.4 . 删除数据
5.5 select 查询
6: 连接查询
7 子查询
8: 字符集
客服端sql编码 character_set_client
综合练习:
三 查询知识练习
1: 基础查询 whe1 show tables
32查看表的结构:
1 desc tablename:
33查看表的创建过程:
1 show create table tableName
34创建表
1 create table tbName
列名称1列类型列参数][ not null default
列2
列名称N列类型[列参数][ not null default
Engine myi sam/innodb charset utf&/gbk
例子
1 create table user
id int auto increment
name varchar(20) not null default
age tinyint unsigned not null default 0
dex id (id)
Engine=innodb charset=utf&
e注: innodb是表引擎,也可以是 myL sam或其他,但最常用的是 myi sam和 innodb,
9 charset常用的有utf8,gbk;
35修改表
35.1修改表之增加列:
1 alter table tbName
2add列名称1列类型[列参数][ not null default]#(ad之后的旧列名之后的语法和创建表时的列声明
352修改表之修改列
I alter table tbName
2 change旧列名新列名列类型[列参数][ not null default]#(注:旧列名之后的语法和创建表时的列声
353修改表之减少列
1 alter table tbName
2drop列名称;
3.5.4修改表之增加主键
1 alter table tbName add primary key(主键所在列名)
3 9 alter table goods add primary key (id)
该例是把主键建立在id列上
355修改表之删除主键
alter table tbName drop primary key
3.56修改表之增加索引
Lter table tbName add [unique l fulltext] index素引名(列名);
35.7修改表之删除索引
1 alter table tbName drop index索引名;
358清空表的数据
truncate tablename
4列类型讲解
整型:
● tiny int(0~255/-128~127)
smallint(0~65535/-32768~32767)
mediumint int bigint(参考手册112)
参数解释:
● unsigned无符号(不能为负)
0填充
●M填充后的宽度
tinyint unsigned
t(6 zerofi
数值型
浮点型 float double
1格式: float(M,D) unsigned\zerofill;
字符型
har(m)定长
char(m)变长
实存字符讠
实占空间
利用率
2 char(m)
0<=i<=M
M
i/m<=100%
0
<=i<=M
+1,2
/i+1/2<100%
日期时间类型
● year YYYY范围:1901~2155.可输入值2位和4位(如98,2012
● date YYYY-MM-DD如:2010-03-14
time HH: MM: SS $4: 19: 26:32
datetime YYYY-MM-DD HH: MM: SS 0: 2010-03-14 19: 26: 32
● timestamp YYYY-MM-DDHH:MMSS特性:不用赋值,该列会为自己赋当前的具体时间
5:增删改查基本操作
5.1插入数据
1 insert into表名(co11,co12,…) values(va11,Va12
插入指定列
2 insert into表名 values(,,,);--插入所有列
3 insert into表名 values
次插入多行
(vaL1,vaL2…
vaL1,vaL2…)
L1 val2
53.修改数据
1 update tablename set
L2-newval2
5
6 COLN
LN
where条件
5.4.删除数据
1 delete from tablengeme where条件
55 select查询
条件查询
oa.条件表达式的意义,表达式为真,则该行取出
b.比较运算符=,!=
oc.ike, not like(%匹配任意多个字符,匹配任意单个字符)in; not in, between and
d. is null is not nul
分组g
o一般要配合5个聚合函数使用max,min,sum,avg, count
筛选 having
排序 order by
限制
6:连接查询
16.1左连接
Left join.. on
3 table a left join table B on tableA. coll tableB col2
4例句: select列名 from table A left join table b on tableA.co11= tableB.co12
66.2右链接: right join
66.3内连技: inner JoLn
左右连接都是以在左边的表的数据为准,沿着左表查右表
内连接是以两张表都有的共同部分数据为准,也就是左右连接的数据之交集.
7子查询
Whee型子查询内层sq的返回值在 where后作为条件表达式的一部分
196]: select from tablea where cola =(select colb from tableb where ..
from型子查询内层sq查询结果作为一张表供外层的sq语句再次查询
1例句: select+fm( select from…,) as tableName where
8:字符集
客服端sq编码 character set client
服务器转化后的sq编码 character set connection
服务器返回给客户端的结果集编码 character set results
快速把以上3个变量设为相同值: set names字符集
存储引擎 enginE=12
1 Myisan这度快不支持事务回滚
2 Innodb速度慢支持事务,回滚
①开启事务
start transaction
②运行sq;
③提交,同时生效回滚 commit\rollback
触发器 trigger
监视地点表
监视行为:增删改
触发时间: after\before
蝕发事件:增删改
创建触发器语法
create trigger anAme
after/before insert/delete/update
on tableName
for each row
sql;--触发语句
删除触发器: drop trigger tgName;
索引
提高查询速度,但是降低了增删改的速度,所以使用索引时,要综合考虑
索引不是越多越好,般我们在常出现于条件表达式中的列加索引
值越分散的列,索引的效果越好
索引类型
primary key主键索引
index普通索引
unique index一性索引
fulltext index全文索引
综合练习
连接上数据库服务器
创建一个gbk编码的数据库
建立商品表和栏目表字段如下
商品表 goods
goods id
主键
goods_name--商品名称
cat id--栏目id
brand id--品牌id
goods_sn--货号
goods_ number--库存量
sh。p_ price--价格
goods_ desc--商品详细描述
栏目表: category
cat id--主键
栏目名称
parent _id-栏目的父id
建表完成后,作以下操作:
删除gods表的 goods_desc字段,及货号字段
并增加字段 click count--点击量
在 goods_name列上加唯一性索引
在 shop_price列上加普通索引
在ccik_ count,列上加普通索引
删除clicκ count列上的索引
对 goods表插入以下数据:
I goods_id i goods_name
I cat_id I brand _id I goods _sn I goods_number I shop_price i click_count
1KD876
4
8|Ecs000000
101388.00
4|诺基亚N85原装充电器
8|1|EcS000004
17|58.00
3|诺基亚原装5800耳机
8|1Ecs000002
24|68.00
5|索爱原装M2卡读卡器
7|EcS000005
8|20.00
6|胜创 KINGMAX内存卡
110|ECs000006|
15|42.00
7|诺基亚N85原装立体声耳机Hs-82|8|1|ECs000007|20|100.00
a|飞利浦99
3|4|Ecs000008
17|399.00
9
9|诺基亚E66
13|1|ECs000009
13|2298.00
20
10索爱C702c
13|7|Ecs000010
7|132800
11|索爱C702c
3|7|ECs000011
11300.00|0
12|摩托罗拉A810
13|2|ECS000012
8|98300
4
13|诺基亚5320× pressMusic|3|1|EcS000013
113100
4诺基亚5800XM
1|Ecs000014
4|2625.00
6
15摩托罗拉A810
13|2|ECS000015
3|788.00
16恒基伟业G101
12|11|Ecs000016
0|82333
3
17|夏新N7
13|5|Ecs000017
1|2300.00|
2
18夏新T5
4
5|EcS000018
12878.00
0
19|三星SGH-F258
6|ECS000019
0|858.00
20|三星BC01
3|6|ECS000020
280.00
14
21|金立A30
3|10ECs000021
40|2000.00
22|多普达 Touch HD
3|3|ECS000022
0|599900
23|诺基亚N96
5|1Ecs000023
8|3700.00
24|P806
3|9|ECS000024
148|2000.00|36
25|小灵通/回话50元充值卡13|0|ECS000025
2|48.00
0
26|小灵通/话20元充值卡
13|0|ECS000026
2|19.00
27|联通100元充值卡
15|0|Ecs000027
2|95.00
28|联通50元充值卡
15
0|ECs000028
0|45.00
29|移动100元充值卡
14|0|ECS000029
0
90.00
0
30|移动20元充值卡
0|ECS000030
9|18.00
31摩托罗拉E8
3
2|Ecs000031
1133700
32|诺基亚N85
3|1|Ecs000032
1|3010.00
三查询知识练习
1:基础查询 where的练习:
查出满足以下条件的商品
11:主键为32的商品
1 select goods_id, goods_name, shop_price from ecs_goods where goods_id=32;
1.2:不属第3栏目的所有商品
1 select goods_id, cat_id, goods_name, shop_price from ecs_goods where cat_id
13:本店价格高于3000元的商品
select goods_id, cat_id, goods_name, shop_price from ecs_goods
where shop_price >3000;
14:本店价格低于或等于100元的商品
select goods_id, cat_id, goods_name, shop_price from ecs_goods where shop_price <=100
15取出第4栏目或第11栏目的商品(不许用or)
select goods_id, cat_id, goods_ name, shop_price from ecs _ goods
where cat id in(4, 11)
16:取出100<=价格<=500的商品(不许用and
select goods_id, cat_id goods_name, shop_price from ecs_goods
where shop_ price between 100 and 500
17:取出不属于第3栏目且不属于第11栏目的商品(and,或 not in分别实现)
select goods_id, cat_id goods_name, shop_price from ecs_goods where cat_id -3 and cat_id! =11
select goods_id, cat_id. goods_ _name, shop_price from ecs goods where cat_id not in (3, 11);
18:取出价格大于100且小于300,或者大于4000且小于5000的商品()
select goods_id, cat_ id, goods_name, shop_price from ecs_goods where shop_price>100 and shop_price <300 or
shop_price >4000 and shop_price <5000
19:取出第3个栏目下面价格<1000或>3000,并且点击量>5的系列商品
select goods_id, cat_ id, goods_name, shop_price, click_count from ecs_goods where
cat id=3 and(shop_ price <1000 or shop_price>3000) and click count> 5
1.10取出第1个栏目下面的商品(注意1栏目下面没商品,但其子栏目下有)
select goods id, cat id, goods name, shop_ price, click_count trom ecs_ goods
where cat id in(2, 3, 4, 5)
1.11取出名字以"诺基亚“开头的商品
select goods_id, cat id, goods_name,shop_ price from ecs_goods where goods_name like‘诺基亚%;
1.12取出名宇为诺基亚Nxx"的手机
select goods _id, cat_id, goods_name, shop_ price from ecs_goods
here goods_name like'诺基亚N_’;
113取出名字不以"诺基亚开头的商品
select goods_id, cat_id, goods_name, shop_price from ecs_goos
where goods_name not like诺基亚%;
1.14:取出第3个栏目下面价格在1000到3000之间,并且点击量>5"诺基亚"开头的系列商品
select goods_id, cat_id, goods_name, shop_price from ecs_goods where
cat_id=3 and shop_price >1000 and shop_price <3000 and click_count>5 and goods_name like WEI%;
select goods_id, cat_id, goods_name, shop_price from ecs _goods where
shop_price between 1000 and 3000 and cat_id=3 and click_count>5 and goods_name like iEaL%
1.15一道面试题
有如下表和数组
把num值处于[2029]之间改为20
num值处于30,39]之间的,改为30
man表
I num I
25
23
29
34
37
32
45
48
52
1.16练习题
把god表中商品名为诺基亚xxx的商品,改为 HTCXXXX
提示:大胆的把列看成变量,参与运算,甚至调用函数来处理
substring(), concat(
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.