1. create table student( sid varchar(50),
  2. sname varchar(50),
  3. sage varchar(50),
  4. ssex varchar(50)
  5. );
  6.  
  7. insert into student( sid,sname,sage,ssex ) values('','zhaolei','1990-01-01','nan');
  8.  
  9. insert into student values('','qiandian','1990-12-21','nan');
  10. insert into student values('','sunfeng','1990-05-20','nan');
  11. insert into student values('','liyun','1990-08-06','nan');
  12.  
  13. insert into student values('','zhoumei','1991-12-01','nv'),
  14. ('','wulan','1992-03-01','nv'),
  15. ('','zhenzu','1989-07-01','nv'),
  16. ('','wangju','1990-01-20','nv');
  17.  
  18. select * from student;
  19.  
  20. select sid,sname,sage,ssex from student;
  21.  
  22. select sid,sname,ssex from student;
  23.  
  24. =============================================================================================
  25.  
  26. 1、修改表名
  27.  
  28. 语法格式:alter table 旧表名 rename [to] 新表名;
  29.  
  30. 注释:修改后example1表就不存在了,只存在名为user的新表,但是其内容是一致的,只是换了个名称.
  31.  
  32. alter table student rename to sww;
  33.  
  34. select * from student;
  35.  
  36. select * from sww;
  37.  
  38. alter table sww rename to student;
  39.  
  40. =====================================================================================================
  41. 2、修改字段名
  42.  
  43. 语法格式:alter table 表名 change 旧属性名 新属性名 新数据类型;
  44.  
  45. 注释:新数据类型指修改后的数据类型,如不需要修改,则将新数据类型设置成与原来一样
  46.  
  47. alter table student change sname sww varchar(50);
  48.  
  49. select * from student;
  50.  
  51. alter table student change sww sname varchar(50);
  52.  
  53. ==============================================================================================
  54.  
  55. 3、修改字段的数据类型
  56.  
  57. 语法格式:alter table 表名 modify 属性名 数据类型;
  58.  
  59. 注释:表名指所要修改数据类型的字段的表的名称;
  60.  
  61. 属性名指:所要修改数据类型字段的名称;
  62.  
  63. 数据类型指:修改后的新的数据类型
  64.  
  65. =========================================================================================================
  66. 4、修改字段的排列位置
  67.  
  68. 语法格式:alter table 表名 modify 属性名1 数据类型 first|after 属性名2;
  69.  
  70. alter table student modify sage varchar(50) first;
  71.  
  72. select * from student;
  73.  
  74. alter table student modify sage varchar(50) after sname;
  75.  
  76. ======================================================================================
  77.  
  78. 5、增加字段
  79.  
  80. 语法格式:alter table 表名 add 属性名1 数据类型 [完整性约束条件] [first | after 属性名2];
  81.  
  82. 完整性约束条件:是可选参数,用来设置新增字段的完整性约束条件
  83.  
  84. first:是可选参数,其作用是将新增字段设置为表的第一个字的
  85.  
  86. after:是可选参数,其作用是将新增字段添加到“属性名2”所指的字段后
  87.  
  88. 如果执行的SQL语句中没有“first”或者“after 属性名2”参数指定新增字段的位置,则新增字段默认为表的最后一个字段
  89.  
  90. alter table student add saddress varchar(50) after ssex;
  91.  
  92. select * from student;
  93.  
  94. ==============================================================================================================
  95.  
  96. 6、删除字段
  97.  
  98. 删除字段是删除表中已经定义好的表中的某个字段,删除后其字段所属的数据都会被删除
  99.  
  100. 语法格式:alter table 表名 drop 属性名;
  101.  
  102. alter table student drop saddress;
  103.  
  104. select * from student;
  105.  
  106. ==========================================================================================================
  107.  
  108. select * from student;
  109.  
  110. select * from student where sid in('','','','');
  111.  
  112. select * from student where sid not in('','','','');
  113.  
  114. select * from student where sid > 4;
  115.  
  116. select * from student where sid != 4;
  117.  
  118. select * from student where sid between 4 and 6;
  119.  
  120. select * from student where sid not between 4 and 6;
  121.  
  122. select * from student where sname like '%n%';
  123.  
  124. select * from student where sname not like '%n%';
  125.  
  126. =====================================================================================================
  127.  
  128. select * from student;
  129.  
  130. select * from student order by sid desc;
  131.  
  132. select count(*) from student;
  133.  
  134. select sum(sid) from student;
  135.  
  136. select avg(sid) from student;
  137.  
  138. select max(sid) from student;
  139.  
  140. select min(sid) from student;
  141.  
  142. select count(*) from student group by ssex;
  143.  
  144. select sid as a, sname as b,sage as c, ssex as d from student;
  145.  
  146. select * from student limit 3;
  147.  
  148. select * from student limit 1,2;
  149.  
  150. ====================================================================================
  151. 增加一个字段,插入数据,并更改数据
  152.  
  153. alter table student add saddress varchar(50) after ssex;
  154.  
  155. select * from student;
  156.  
  157. update student set saddress = 'jiangsu' where sid = '';
  158. update student set saddress = 'jiangsu' where sid = '';
  159.  
  160. update student set saddress = 'shanghai' where sid = '';
  161. update student set saddress = 'shanghai' where sid = '';
  162. update student set saddress = 'shanghai' where sid = '';
  163.  
  164. update student set saddress = 'beijing' where sid = '';
  165. update student set saddress = 'beijing' where sid = '';
  166.  
  167. update student set saddress = 'anhui' where sid = '';
  168.  
  169. insert into student ( sid,sname,sage,ssex ) values ('','shenweiwei','1989-10-18','nan');
  170.  
  171. update student set saddress = 'jiangsu' where sid = '';
  172.  
  173. 一、将查询结果插入到表中
  174.  
  175. insert语句可以将一个表中查询到的数据插入到另外一个表中
  176.  
  177. 语法格式:
  178.  
  179. insert into 表名1 (属性列表1) select 属性列表2 from 表名2 where 条件表达式;
  180.  
  181. 表名1说明记录插入到哪个表中;
  182.  
  183. 表名2表示记录是从哪个表中查询出来的;
  184.  
  185. 属性列表1参数表示为哪些字段赋值;
  186.  
  187. 属性列表2表示从表中查询出哪些字段的数据;
  188.  
  189. 条件表达式参数设置了select语句的查询条件;
  190.  
  191. 注意:使用这种方法时,必须保证属性列表1和属性列表2中的字段个数是一样的,而且每个对应字段的数据类型必须是一样的。
  192.  
  193. create table student2( sid varchar(50),
  194. sname varchar(50),
  195. sage varchar(50),
  196. ssex varchar(50),
  197. saddress varchar(50)
  198. );
  199.  
  200. select * from student2;
  201. delete from student2;
  202. insert into student2 ( sid,sname,sage,ssex,saddress ) values ('','fenglili2','1988-09-18','nv','jiangsu');
  203. insert into student2 ( sid,sname,sage,ssex,saddress ) values ('','fenglili3','1988-08-18','nv','jiangsu');
  204. insert into student2 ( sid,sname,sage,ssex,saddress ) values ('','fenglili4','1988-07-18','nv','shanghai');
  205.  
  206. insert into student ( sid,sname,sage,ssex,saddress ) values ('','fenglili2','1988-09-18','nv','jiangsu');
  207. insert into student ( sid,sname,sage,ssex,saddress ) values ('','fenglili3','1988-08-18','nv','jiangsu');
  208. insert into student ( sid,sname,sage,ssex,saddress ) values ('','fenglili4','1988-07-18','nv','shanghai');
  209. delete from student where sid in('','','');
  210. select * from student;
  211.  
  212. insert into student(sid,sname,sage,ssex) select sid,sname,sage,ssex from student2 where sid = '';
  213.  
  214. select * from student;
  215.  
  216. insert into student(sid,sname,sage,ssex,saddress) select sid,sname,sage,ssex,saddress from student2 where sid in ('','');
  217.  
  218. select * from student;
  219.  
  220. update student set saddress = 'jiangsu' where saddress is null;
  221.  
  222. select * from student;
  223.  
  224. ================================================================================================================================
  225. 一、基本查询语句
  226.  
  227. select的基本语法格式如下:
  228.  
  229. select 属性列表 from 表名和视图列表
  230.  
  231. [ where 条件表达式1 ]
  232.  
  233. [ group by 属性名1 [ having 条件表达式2 ] ]
  234.  
  235. [ order by 属性名2 [ asc | desc ] ]
  236.  
  237. 属性列表参数表示需要查询的字段名;
  238.  
  239. 表名和视图列表参数表示从此处指定的表或者视图中查询数据,表和视图可以有多个;
  240.  
  241. 条件表达式1参数指定查询条件;
  242.  
  243. 属性名1参数指按照该字段的数据进行分组;
  244.  
  245. 条件表达式2参数满足该表达式的数据才能输出;
  246.  
  247. 属性名2参数指按照该字段中的数据进行排序;排序方式由ascdesc这两个参数指出;
  248.  
  249. asc参数表示升序,这是默认参数,desc表示降序;(升序表示从小到大)
  250.  
  251. 对记录没有指定是asc或者desc,默认情况下是asc
  252.  
  253. 如果有where子句,就按照“条件表达式1”指定的条件进行查询;如果没有where子句,就查询所有记录;
  254.  
  255. 如果有group by子句,就按照“属性名1”指定的字段进行分组,如果group by后面带having关键字,那么只有
  256.  
  257. 满足“条件表达式2”中知道的条件才能输出。group by子句通常和count()、sum()等聚合函数一起使用;
  258.  
  259. 如果有order by子句,就按照“属性名2”指定的字段进行排序,排序方式由ascdesc两个参数指出;默认情况下是asc
  260.  
  261. 查询结果不重复:distinct 关键字
  262.  
  263. select * from student;
  264.  
  265. select distinct ssex from student;
  266.  
  267. select distinct saddress from student;
  268.  
  269. 分组查询:
  270.  
  271. select * from student group by ssex;
  272.  
  273. select * from student group by saddress;
  274.  
  275. group by 关键字与group_concat()函数一起使用,每个分组中指定字段值都显示出来:
  276.  
  277. select ssex,GROUP_CONCAT(ssex) from student group by ssex;
  278. select ssex,GROUP_CONCAT(sname) from student group by ssex;
  279. select saddress,GROUP_CONCAT(sname) from student group by saddress;
  280.  
  281. group by 关键字与集合函数一起使用:
  282.  
  283. select ssex,count(ssex) from student group by ssex;
  284.  
  285. select saddress,count(saddress) from student group by saddress;
  286.  
  287. group by 关键字与"having 条件表达式"一起使用,可以限制输出结果,只有满足条件表达式的结果才会显示:
  288.  
  289. select ssex,count(ssex) from student group by ssex;
  290. select ssex,count(ssex) from student group by ssex having count(ssex) >6;
  291.  
  292. select saddress,count(saddress) from student group by saddress;
  293. select saddress,count(saddress) from student group by saddress having count(saddress) >3;
  294.  
  295. 注意:“having 表达式” "where 表达式"都是用来限制显示的,但是两者起作用的地方不一样;
  296.  
  297. "where 表达式"用于表或者视图,是表和视图的查询条件;
  298.  
  299. having 表达式”作用于分组后的记录,用于选择满足条件的分组。
  300.  
  301. group by 关键字与 with rollup 一起使用,会在所有记录的最后加上一条记录,这条记录是上面所有记录的总和。
  302.  
  303. select ssex,count(ssex) from student group by ssex;
  304. select ssex,count(ssex) from student group by ssex with rollup;
  305.  
  306. select saddress,count(saddress) from student group by saddress;
  307. select saddress,count(saddress) from student group by saddress with rollup;
  308.  
  309. select * from student;
  310.  
  311. select * from student limit 4;
  312. select * from student limit 1,5;
  313.  
  314. =======================================================================================================
  315.  
  316. create table score ( xh int(50),
  317. km varchar(50),
  318. cj int(50)
  319. );
  320.  
  321. select * from score;
  322.  
  323. insert into score values(1,'shuxue',80);
  324. insert into score values(1,'yuwen',70);
  325. insert into score values(1,'yingyu',40);
  326.  
  327. insert into score values(2,'shuxue',40);
  328. insert into score values(2,'yuwen',60);
  329. insert into score values(2,'yingyu',50);
  330.  
  331. insert into score values(3,'shuxue',60);
  332. insert into score values(3,'yuwen',20);
  333. insert into score values(3,'yingyu',90);
  334.  
  335. insert into score values(4,'shuxue',50);
  336. insert into score values(4,'yuwen',60);
  337. insert into score values(4,'yingyu',70);
  338.  
  339. select xh,sum(cj) from score where xh = 1; 查询此同学的总成绩;
  340. select xh,sum(cj) from score where xh = 4;
  341.  
  342. select xh,sum(cj) from score group by xh; 查询每一个同学的各科总和成绩;
  343.  
  344. select km,max(cj) from score group by km; 查询各个科目的最高成绩;
  345.  
  346. select km,avg(cj) from score group by km; 查询每一科目的平均成绩;
  347.  
  348. select km,max(cj) from score group by km; 查询每一科目的最高成绩;
  349.  
  350. select km,min(cj) from score group by km; 查询每一科目的最低成绩;
  351. =======================================================================================================================

mysql——单表查询——其它整理示例00的更多相关文章

  1. mysql——单表查询——其它整理示例01

    create database see; use database see; drop database sww; ========================================== ...

  2. mysql——单表查询——聚合函数——示例

    ), km ), cj ) ); select * from score; ,); ,); ,); ,); ,); ,); ,); ,); ,); ,); ,); ,); ; 查询此同学的总成绩: ; ...

  3. python 3 mysql 单表查询

    python 3 mysql 单表查询 1.准备表 company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职 ...

  4. Mysql 单表查询-排序-分页-group by初识

    Mysql 单表查询-排序-分页-group by初识 对于select 来说, 分组聚合(((group by; aggregation), 排序 (order by** ), 分页查询 (limi ...

  5. Mysql 单表查询where初识

    Mysql 单表查询where初识 准备数据 -- 创建测试库 -- drop database if exists student_db; create database student_db ch ...

  6. Mysql 单表查询 子查询 关联查询

    数据准备: ## 学院表create table department( d_id int primary key auto_increment, d_name varchar(20) not nul ...

  7. mysql 单表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数   二 ...

  8. SQL学习笔记四(补充-1)之MySQL单表查询

    阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录 ...

  9. 0x06 MySQL 单表查询

    一 单表查询语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键字 ...

随机推荐

  1. JAVA》eclipse——(一)jdk的下载、安装与配置

    http://www.cnblogs.com/best/p/6275334.html 注:这是一位老师的博客随笔链接,不是我的,里面有详细的说明,分享给大家,如果想看其他关于IT的知识,可以访问 ht ...

  2. Tarjan求点双连通分量

    概述 在一个无向图中,若任意两点间至少存在两条“点不重复”的路径,则说这个图是点双连通的(简称双连通,biconnected) 在一个无向图中,点双连通的极大子图称为点双连通分量(简称双连通分量,Bi ...

  3. Wpf自动滚动效果

    一.思路 1.使用ScrollView的Scroll.ScrollToVerticalOffset(offset)方法进行滚动 2.ScrollView中放置2个ListView,第一个滚动出边界后, ...

  4. 对组件、Prop 和 State的研究-----------------引用

    组件 第一步是将 UI 分解成多个组件.例如,我们可以这样来拆分房子: 现在来编码! House:  <div>    <Roof />     // 房顶    <Wa ...

  5. linux运维、架构之路-MongoDB单机部署

    一.MongoDB介绍 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系型数据库和非关系 ...

  6. zabbix监控win服务器

    https://jingyan.baidu.com/article/fcb5aff76486f2edaa4a712a.html 卸载win上的zabbix: cmd /c "C:\zabbi ...

  7. itertools模块、排列、组合、算法

    关于列表重组的python小题 题目一:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集).             说明:解集不能包含重复的子集. 示例:输入: nums = ...

  8. linux系统装机分区

  9. HGOI20190815 题解

    Problem A modsum 求$\sum\limits_{i=1}^{n} \sum\limits_{j=1 , i \neq j}^{m} (n \ mod \ i)(m \ mod \ j) ...

  10. axios多并发请求

    场景: 点击导出Excel按钮实现,姓名列表中前五个的所有的文章数据发送给后端,姓名列表中点击过的数据会被存放到localStorage中: 思路: 点击导出按钮,把前五个数据逐个和localStor ...