当前位置: 首页 > news >正文

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);//创建主键索引

相关文章:

  • Java中各种集合(字符串类)的线程安全性!!!
  • linx 卸载mysql_Linux下卸载MySQL
  • mysql简单分表_mysql分表场景分析与简单分表操作
  • vue 条件渲染与列表渲染
  • vue select清空_Vue+Webpack开发可复用的单页面富应用教程(技巧篇)
  • 两个同级div等高布局
  • cant connect to local mysql_Can't connect to local MySQL server through socket
  • jQuery的切换函数(hover,toggle)
  • mysql锁怎么控制并发_Mysql并发控制-锁
  • yii的ActionForm组件
  • java调用python爬虫_Java调用Python爬虫
  • 移动端如何用swiper实现导航栏效果
  • mysql undo_mysql 的undo 表空间
  • linux 后台开发类常见问题及知识点
  • mysql无法存 x_mySQL如果X Y不保存信息
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • ➹使用webpack配置多页面应用(MPA)
  • gops —— Go 程序诊断分析工具
  • happypack两次报错的问题
  • Java Agent 学习笔记
  • js递归,无限分级树形折叠菜单
  • Laravel核心解读--Facades
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1017 优先队列
  • php的插入排序,通过双层for循环
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Twitter赢在开放,三年创造奇迹
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 从0实现一个tiny react(三)生命周期
  • 聚簇索引和非聚簇索引
  • 理清楚Vue的结构
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 巧用 TypeScript (一)
  • 如何在 Tornado 中实现 Middleware
  • 实现简单的正则表达式引擎
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 试着探索高并发下的系统架构面貌
  • 我的zsh配置, 2019最新方案
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 原生 js 实现移动端 Touch 滑动反弹
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • gunicorn工作原理
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #1015 : KMP算法
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (九)One-Wire总线-DS18B20
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (算法二)滑动窗口
  • (一)插入排序
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)