指定列之后添加:

    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基础的更多相关文章

  1. 如鹏网学习笔记(五)MySql基础

    MySQL基础 一.数据库概念 1,网友装备信息.论坛帖子信息.QQ好友关系信息.学籍管理系统中的学生信息等都要“持久化”的保存到一个地方, 如果通过IO写到文件中,那么会非常麻烦,而且不利于多人共享 ...

  2. 【个人笔记】《知了堂》MySQL三种关系:一对一,一对多,多对多。

    一对一:比如一个学生对应一个身份证号.学生档案: 一对多:一个班可以有很多学生,但是一个学生只能在一个班: 多对多:一个班可以有很多学生,学生也可以有很多课程: 一对多关系处理: 我们以学生和班级之间 ...

  3. 【个人笔记】《知了堂》mysql表连接

    为什么使用表连接 什么是表连接? 如果数据来自多个表,那么可以采用链接查询的方式来实现.因此表连接就是多个表连接合在一起实现查询效果 表连接的原理 表连接采用的是笛卡尔乘积,称之为横向连接. 笛卡尔乘 ...

  4. 【个人笔记】《知了堂》MySQL中的数据类型

    MySQL中的数据类型 1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节  范围(-128~127) smallint(m) 2个字节  范围(-32768~32767) ...

  5. MYSQL基础笔记(六)- 数据类型一

    数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...

  6. MYSQL基础笔记(五)- 练习作业:站点统计练习

    作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...

  7. MYSQL基础笔记(四)-数据基本操作

    数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...

  8. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  9. MYSQL基础笔记(二)-SQL基本操作

    SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...

随机推荐

  1. 四种JavaScript隐式类型转换的总结

    一般存在四种情况,JavaScript会对变量的数据类型进行转换. 目录 * if中的条件会被自动转为Boolean类型 * 会被转为false的数据 * 会被转为true的数据 * 参与+运算都会被 ...

  2. linux Module驱动开发-一切刚刚开始

    linux内核是可以高度定制的,通过配置编译选项达到定制的目的. 在配置kernel编译选项时驱动程序的编译选项一般有三种,不编译.编译为内核驱动.编译为模块驱动.所以linux驱动一般分为两类,内核 ...

  3. JavaScript学习日志(二):面向对象的程序设计

    1,ECMAScript不像其他面向对象的语言那样有类的概念,它的对象与其他不同. 2,ECMAScript有两种属性:数据属性和访问器属性.([[]]这种双中括号表示属性为内部属性,外部不可直接访问 ...

  4. OV7670读操作

    读时序共分为五个部分 首先发送start,然后发送OV7670的器件地址,ov6070的ID是0x42,0x42+一位响应位 发送ov7670的寄存器地址,这里可以读取它的厂商识别号 ,比如1c  发 ...

  5. NHibernate教程(9)一1对n关联映射

    本节内容 引入 NHibernate中的集合类型 建立父子关系 父子关联映射 结语 引入 通过前几篇文章的介绍,基本上了解了NHibernate,但是在NHibernate中映射关系是NHiberna ...

  6. 集美大学网络1413第八次作业(团队四)-- 第一次项目冲刺(Alpha版本)成绩

    首先非常抱歉,刚休完假,凌晨才回来,导致这么晚发布成绩,以后旅行可以考虑带点轻便点的笔记本~ O(∩_∩)O 第一次项目冲刺结束了,可以看出来,有的团队做的很棒,也有的团队组合不是很理想,导致进度一直 ...

  7. 201521123091 《Java程序设计》第6周学习总结

    Java 第六周总结 第六周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 1.本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以 ...

  8. [转载] java中静态代码块的用法 static用法详解

    一.java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序 ...

  9. 201521123088《java程序设计》第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学 ...

  10. 201521123069 《Java程序设计》 第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 1.线程间的互斥访问(线程竞争):一些同时运行的线程需要访问共享数据,互斥访问是保证共享资源完整性的手段.实现方式 ...