【个人笔记】《知了堂》前端mySql基础
指定列之后添加:
ALTER TABLE 表名 ADD 添加的新列名 INT AFTER 指定列之后
第一个位置:
ALTER TABLE 表名 ADD 添加的新列名 varchar(20) AFTER FIRST
更新表中的数据
update 语句可用来修改表中的数据, 基本的使用形式为:
update 表名称 set 列名称=新值 where 更新条件;
使用示例:
将id为5的手机号改为默认的"-": update students set tel=default where id=5;
将所有人的年龄增加1: update students set age=age+1;
将手机号为 13288097888 的姓名改为 "张伟鹏", 年龄改为 19: update students set name="张伟鹏", age=19 where tel="13288097888";
删除表中的数据
delete 语句用于删除表中的数据, 基本用法为:
delete from 表名称 where 删除条件;
使用示例:
删除id为2的行: delete from students where id=2;
删除所有年龄小于21岁的数据: delete from students where age<20;
删除表中的所有数据: delete from students;
创建后表的修改
alter table 语句用于创建后对表的修改, 基础用法如下:
添加列
基本形式: alter table 表名 add 列名 列数据类型 [after 插入位置];
示例:
在表的最后追加列 address: alter table students add address char(60);
在名为 age 的列后插入列 birthday: alter table students add birthday date after age;
修改列
基本形式: alter table 表名 change 列名称 列新名称 新数据类型;
示例:
将表 tel 列改名为 telphone: alter table students change tel telphone char(13) default "-";
将 name 列的数据类型改为 char(16): alter table students change name name char(16) not null;
删除列
基本形式: alter table 表名 drop 列名称;
示例:
删除 birthday 列: alter table students drop birthday;
重命名表
基本形式: alter table 表名 rename 新表名;
示例:
重命名 students 表为 workmates: alter table students rename workmates;
删除整张表
基本形式: drop table 表名;
示例: 删除 workmates 表: drop table workmates;
删除整个数据库
基本形式: drop database 数据库名;
示例: 删除 samp_db 数据库: drop database samp_db;
查询所有:
- select * from 表
指定列:
- select 列名 from 表名
as别名:
- select *,列名 as '中文名字' from 表名 where 列='查询谁'
distinct筛选重复的数据:
- select distinct 列名 from 表名
添加列:
- alter table 表名 add 添加的列名 int after 谁的后面
between and 包含:
- select * from 表名 where 列名 between 条件 and 条件
in简化or:
- select * from 表名 where 列名 in(查询值1,值2,值3...)
不包含 not in:
- select * from 表名 where 列名 not in(不包含值1,值2,值3...)
模糊查询:
查询所有:
- select * from 表名 where 列名 like '查询什么'
一个下划线代表一个占位符:
- select * from 表名 where 列名 like '张__'
is NUll 空 空值没有输入数据:
- select * from 表名 where 列名 is not null
不为空 is not null:
- select * from 表名 where 列名 is not null
查询结果排序order by:
- select * from 表名 order by 列名 默认升序
- select * from 表名 order by 列名 desc 降序
- select * from 表名 order by 列名 asc 升序
- select * from 表名 order by 列名 asc列名,desc列名。注:先升序,在降序。
注:一般用于成绩查询及商品价格等;
返回限定行:
- --limit 数字
- --limit 数字n,数字m 代表从多少行开始,m数多行
- select * from 表名 limit 2; --限定行
- select * from 表名 limit 2,4; --开始行,结束行
注:做分页的时候比较常用;
聚合函数:
计数count(列):
- select count(列(也可以使用*号)) as 别名 from 表名 where 列名= 值
注:可以使用 as 别名;
求和:
- select sum(列(也可以使用*号)) from 表名
平均:
- select sum(列)/count(*) from 表名
- select avg(列) from 表名 --默认不包含空
- selec avg(ifnull(列,0)) -- 如果是空数据 补成0 在求平均
最大,最小:
- select max(列),min(列) from 表名
分组:
- select count(*) from 表名 where 列=值
- select count(*) from 表名 where 列=值
注:首先要知道总数,比如一个班:第一列显示那个班,第二列显示多少人;
- select 列,count(*) from 表名 group by 列名
具体统计:
- select 列,count(*) from 表名 where 列=值 group by 列名 --只统计一类
- select 列,count(*) from 表名 group by 列名,列名 --统计两个不同类;

多条件查询:
- -- 查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。
- select CNO,SUM(DEGREE),count(*) from SCORE where CNO LIKE '3%' group by CNO HAVING(count(*)>5);
注:SELECT 课程列,SUM(成绩列),COUNT(*) FROM 表名 WHERE 课程列 LIKE '3%' GROUP BY 课程列分组 HAVING(COUNT(*)>5);
相关子查询:
--select嵌套
select 列名,(select 列名 from 表名 where 子列名=主列名) from 主表名
非相关子查询:
--from嵌套
select * from (select * from 子表名 where 子列名=值) as 子t1 where 子t1.主列名=值;
--where嵌套
select * from 主表名 where 主列名=(select 子列名 from 表名 where 子列名=值)
示例:
--查询与老张一个班的学生有哪些
select * from t_student where s_classid=(select s_classid from t_student where s_name='老张')
【个人笔记】《知了堂》前端mySql基础的更多相关文章
- 如鹏网学习笔记(五)MySql基础
MySQL基础 一.数据库概念 1,网友装备信息.论坛帖子信息.QQ好友关系信息.学籍管理系统中的学生信息等都要“持久化”的保存到一个地方, 如果通过IO写到文件中,那么会非常麻烦,而且不利于多人共享 ...
- 【个人笔记】《知了堂》MySQL三种关系:一对一,一对多,多对多。
一对一:比如一个学生对应一个身份证号.学生档案: 一对多:一个班可以有很多学生,但是一个学生只能在一个班: 多对多:一个班可以有很多学生,学生也可以有很多课程: 一对多关系处理: 我们以学生和班级之间 ...
- 【个人笔记】《知了堂》mysql表连接
为什么使用表连接 什么是表连接? 如果数据来自多个表,那么可以采用链接查询的方式来实现.因此表连接就是多个表连接合在一起实现查询效果 表连接的原理 表连接采用的是笛卡尔乘积,称之为横向连接. 笛卡尔乘 ...
- 【个人笔记】《知了堂》MySQL中的数据类型
MySQL中的数据类型 1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) ...
- MYSQL基础笔记(六)- 数据类型一
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...
- MYSQL基础笔记(五)- 练习作业:站点统计练习
作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...
- MYSQL基础笔记(四)-数据基本操作
数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...
- MYSQL基础笔记(三)-表操作基础
数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...
- MYSQL基础笔记(二)-SQL基本操作
SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...
随机推荐
- python的计数引用分析(一)
python的垃圾回收采用的是引用计数机制为主和分代回收机制为辅的结合机制,当对象的引用计数变为0时,对象将被销毁,除了解释器默认创建的对象外.(默认对象的引用计数永远不会变成0) 所有的计数引用+1 ...
- 自己动手写java 字节流输入输出流
数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流. "流是磁盘或其它外围设备中存储的数据的源点或终点." ...
- 读redux有感: redux原来是这样操作的。
2017.9.10日 教师节 : ~当一个事物你没有接触,但是生活中 常常用到他,你就不得不去了解他了. 注:新手可以看一下,毕竟博主也是个菜鸟,没法写高深的东西,不想看博主扯淡的直接看第三节啦~~ ...
- Oracle:解锁scott用户及设置密码
关于Oracle 10g scott用户解锁的方法两则 解决方法一. 首先确认已经安装oracle 数据库和客户端 在客户端DOS下执行如下语句: 注意提示符号 c:\sqlplus /nolog s ...
- Selenium八种基本定位方式---基于python
from selenium import webdriver driver=webdriver.Firefox() driver.get("https://www.baidu.com&qu ...
- ios初体验< 运用属性传值,登录>
注意:ViewController.m文件 // 在第一个页面中,创建一个简单的登录页面,并且添加两个属性 1 #import "ViewController.h" #import ...
- 沙盒单机网站代表-Steam【推荐】
Steam平台是Valve公司聘请BitTorrent(BT下载)发明者布拉姆·科恩亲自开发设计的游戏平台. Steam平台目前是一款全球最大的综合性数字发行平台.玩家可以在该平台购买.下载.讨论.上 ...
- CCNA+NP学习笔记—序章
本人就读于南京捷式泰网络科技有限公司学习CCIE,这几天准备将多年来的纸质版笔记全部写成电子版献给大家以留下自己学习的足迹.本章是基础篇章,内容较少,主要为之后的内容做铺垫.所有笔记的分类顺序为:序章 ...
- 团队作业1 团队展示&选题
团队展示&选题 Coding项目地址:https://git.coding.net/wjunren/running.git 一.团队展示 1.队名:Runing Guys 2.队员: 组长:骆 ...
- 团队作业八-Beta版本冲刺计划及安排
Beta版本冲刺计划及安排 目录: 1.介绍小组新加入的成员,他担任的角色 2.下一阶段需要改进完善的功能 3.下一阶段新增(或修改)的功能 4.需要改进的团队分工 5.需要改进的工具流程 6.冲刺的 ...