mysql tables()_Mysql中对table的操作问题

今天利用一个mysql问题来对前期学习Mysql操作的一个小小的检验!!现在总结一下Mysql中对表格的建立、插入特定的数据、以及查询满足某一段条件的数据等等进行操作。

首先需要建立如下三个表(table);

客户表   customer:

cno            客户号

cname      客户名称

商品表   goods:

gno          商品号

gname      商品名称

订单表     orders:

data         日期(8位整数表示,如20160823)

ono          订单号

cno          客户号

gno         商品号

amount   数量

Mysql 对表格的建立代码:

1 create database if not exists test; //首先创建一个数据库2

3 use test; //进入数据库4

5 create table customer( id int auto_increment primary key); //创建table id列自动 +1

6

7 alter table customer add column (cno varchar(20), cname varchar(20)); //添加cno列和cname列8

9 insert intocustomer10 (cno, cname)11 values

12 ("001", "001"),13 ("002", "002"); //这样创建好了customer表

customer表:

6139df1b1bb7236de0f6990be27e95ee.png

如此操作得到goods表以及orders表:

a9523b2eb5c30a0b029a021da1e92d13.png

5f238855688e85303d0b9b1bc0084d55.png

1.查询2015年没有被购买过的商品号和商品名称:

1 select goods.gno, goods.gname fromgoods2 where goods.gno not in (select orders.gno from orders where orders.data between 20150101 and 20151231);

示列结果:

fc63c7dac6215749b645228021b847cb.png

2.查询2016年的订单,显示订单的日期、订单号、客户名:

1 select orders.data, orders.ono, orders.cno fromorders2 where orders.data between 20160101 and 20161231;

示列结果:

55a556ff144bd11275e4726981741072.png

3.删除2015年以前的订单:

1 delete fromorders2 where orders.data < 20150101;3

4

5 select * from orders; //查询orders数据

示列结果:

30d26ebf33e0a2464fa54534ee0df512.png

4.查询订单数在4个以上商品号和总数量并按总数量降序排序:

1 select gno, amount fromorders2 where amount > 4 order by amount desc;

示列结果:

0569b06c32c5bc264d4fa1ad860cc169.png

基本操作就是这样的,这几天一直在研究Mysql语法,脑袋感觉处于一种浆糊的感觉,还是需要一点点时间将这些东西慢慢吸收!

其中关于给订单创建一个合适的索引没有想到很明确的方法,我的思维是删除id主键,添加日期或者其他列作为新的索引;这样操作是因为我将id作为自动增加且主键吧

记录一下一些用到的语法:

1 alter table tablename drop id; //删除id列2

3 alter table tablename add id int auto_increment primary key first; //将id列添加到第一列并且赋予主键索引4

5

6 delete from tablename where id =1;//删除id=1这一行7

8 update tablename set column = values where id = 1;//在id=1这行中将 values赋值给column列9

10 select * from tablename order by cast(column as signed/unsigned integer);//改变列属性将varchar改变成int

1 alter table tables add index(column);//创建索引2

3 alter table tablename add primary key(column);//创建主键索引

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值