事物 MySQL与Python sql演练 拆类别表

# -创建一个账户表

# create table my_account(

# id int primary key auto_increment,

# number char(16) not null unique

# comment'账户',

# name varchar(20) not null,

# money decimal(10,2) default 0.0

# comment '账户余额'

# )charset utf-8;

# --插入数据

# insert into my_account values

# (null,'0000001','张三',1000),

# (null,'0000002','李四',2000);

# --张三转账1000给李四

# update my_account set money=money-1000 where id=1;

# --事务安全

# --开启事务

# start transacion;

# --事务操作:1,李四账户减少

# update my_account set money=money-1000 where id=2;

# --事务操作:1,张三账户增加

# update my_account set money=money+1000 where id=1;

# --提交事务

# commit;

# --回滚点操作

# --开启事务

# start transaction;

# --事务处理1:张三发工资了,加钱

# update my_account set money=money+10000 where id=1;

# --设置回滚点

# savepoint spl;

# --银行扣税

# update my_account set money=money-10000*0.05 where id=2;

# --错误

# --回滚到回滚点

# rollback to spl;

# --继续操作

# update my_account set money=money-10000*0.05 where id=1;

# --查看结果

# select * from my_account;

# --提交结果

# commit;

# --显示系统变量autocommit(模糊查询)

# show variables like 'autocommit';

# --关闭事务自动提交

# set autocommit=0;

# --给李四发工资

# update my_account set money=money+10000 where id=2;

# commit;

# update my_account set money=money-10000*0.05 where id=2;

# --事务的隔离性

# start transaction;

# --给张三返税,反500块钱

# update my_account set money=money+500 where id=1;

# select * from my_account;

# --另外窗口开启事务

# start transaction;

# --李四淘宝花了500

# update my_account set money=money-500 where id=2;

# select * from my_account;

# commit;

# select * from my_account;

# --回到张三窗口 事务回滚

# rollback;

# select * from my_account;

# --两边一致

# --锁机制

# start transaction;

# --使用非索引字段(name),行锁自动上升为表锁

# update my_account set money=money+500 where name='张三'

# update my_account set money=money+1000 where id=2;

# rollback;

# select * from my_account;

# --SQL演练

# --查询类型cate_name为‘超极本’的商品名称,价格

# select name as 商品名称,price as 商品价格 from goods where cate_name='超级本';

# --显示商品的种类

# select distinct cate_name from goods;

# select cate_name from goods

# group by cate_name;

# select cate_name,group_concat(name

# )from goods group by

# cate_name;

# --求所有电脑产品的平均价格,并且保留两位小数

# select round(avg(price),2)from goods;

# --显示每种商品的平均价格

# select cate_name,avg(price) from goods group by cate_name;

# --查询每种类型商品中最贵,最便宜,平均价,数量、

# select cate_name,max(price),min(price),avg(price),count(*)from goods group by cate_name;

# --查询所有价格大于平均价格的商品,并且按价格升序排序

# select * from goods where price > (select avg(price) from goods)

# order by price desc;

# --查询每种类型中最贵的电脑信息

# select cate_name,max(price) from goods group by cate_name;

# select * from goods;

# --查询每种类型中最贵的电脑信息

# select * from goods

# inner join

# (select cate_name,

# max(price) as max_price,

# min(price) as min_price,

# avg(price) as avg_price,

# count(*) from goods

# group by cate_name

# )as goods_new_info

# on goods.cate_name=

# goods_new_info.cate_name and

# goods.price=goods_new_info.

# max_price;

# select * from (

# select cate_name,max(price) as max_price from goods group by cate_name

# )as  g_new left join goods as g on g_new.cate_name=g.cate_name

# and g_new.max_price = g.price prder;

# insert into goods values(0,'东哥牌电脑','笔记本','老王','4999',default,default);

# --创建商品分类表

# create table if not exists

# goods_cates(

# id int unsigned primary key

# auto_increment,

# name varchar(40) not null

# );

# show tables;

# select cate_name fromgoods

# group by cate_name;

# --将分组结果写入到goods_cates数据表

# insert into goods_cates(name)

# select cate_name from goods

# group by cate_name;

# --通过goods_cates数据表来更新goods表

# update goods as g inner join goods_cates as c on g.cate_name=c.name set g.cate_name=c.id;

# --插入类别

# insert into goods_cates(name)

# values('路由器'),('交换机'),('网卡');

# --插入商品

# insert into goods(name,cate_name,brand_name,price)

# values('LaserJet Pro P1606dn黑白激光打印机',12,4,''1849);

# --修改表结构

# alter table goods

# change cate_name cate_id int unsigned not null;

# delete from goods where id=23;

# --添加外键

# alter table goods add foreign

# key(cate_id) references

# gppds_cates(id);

# --插入商品

# insert into goods(name,cate_id,brand_name,price)

# values('LaserJet PRo P1606dn黑白激光打印机',12,4,'1849');

# --失败

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容