1.注释语法:--,#
2.后缀是.sql的文件是数据库查询文件
3.在创建查询里,那个需要保存的对话框只是,保存查询。
4.在数据库里面 列有个名字叫字段 行有个名字叫记录 CRUD操作:
create 创建(添加)
read 读取
update 修改
delete 删除 1、添加数据 Info代表的是文件表名,后面括号里是给所有列里添加的内容 insert into Info values('p009','张三',1,'n001','2016-8-30 12:9:8') ; 给特定的列添加数据 Info是文件表名,第一个括号里是只给这个文件里这两个列添加值; insert into Info (code,name) values('p010','李四'); 自增长列的处理 family是表名 直接给它值就行
insert into family values('','p001','数据','T001','数据',1); insert into 表名 values(值) 2、删除数据
删除所有数据 family 是表名,意思是将这个表里所有的东西全部删除
delete from family
删除特定的数据 将Info表名里的code列里的p001删除
delete from Info where code='p001' delete from 表名 where 条件 3、修改数据
修改所有数据 把Info表名里的name列都修改成徐业鹏
update Info set name='徐业鹏'
修改特定数据 把Info表名里的name列改成吕永乐,但只给code列的p002那一行改
update Info set name='吕永乐' where code='p002'
修改多列 把Info表名里的name列改成吕永乐,还将sex列的改成1, 但只给code列的p003那一行改。
update Info set name='吕永乐',sex=1 where code='p003' #布尔型,整数和小数类型不用加单引号 update 表名 set 要修改的内容 where 条件 4、读取数据
(1)简单读取,查询所有列(*) 所有行(没有加条件) 读取全部Info表里的内容
select * from Info
(2)读取特定列 只读取Info表里的code,name列
select code,name from Info
(3)条件查询 只查询Info表里code列的p003行的内容
select * from Info where code='p003'
(4)多条件查询 找到Info表里的code列p003行的内容 或 nation列n002行的内容
select * from Info where code='p003' or nation='n002' #或的关系
select * from Info where sex=0 and nation='n002' #与的关系 or是或的意思, and是与的意思 (5)关键字查询(模糊查询) %代表不知道
查所有包含奥迪的汽车 找car表里name列叫其中关键字叫奥迪的 select * from car where name like '%奥迪%'; #百分号%代表任意多个字符 查以'皇冠'开头的所有汽车 找car 表里name列里是皇冠开头的
select * from car where name like '皇冠%'; 查询汽车名称中第二个字符是'马'的 找car表里的那么列第二个字符叫“_马%”的后面不清楚什么名 select * from car where name like '_马%'; #下划线_代表任意一个字符 (6)排序查询 让car表里的powers列默认从小到大往下排列,也叫升序排列
select * from car order by powers #默认升序排列
select * from car order by powers desc #升序asc 降序 desc
先按brand升序排,再按照price降序排 主要将car表里的brand列默认升序,然后再讲price列降序排列
select * from car order by brand,price desc (7)范围查询 查询Car表筛选出 price列>40的 和 price列<60的
select * from car where price>40 and price<60
select * from car where price between 40 and 60 #between是之间的意思 (8)离散查询
select * from car where price=30 or price=40 or price=50 or price=60;
select * from car where price in(30,40,50,60)
select * from car where price not in(30,40,50,60) (9)聚合函数(统计查询)
select count(*) from car
select count(code) from car #取所有的数据条数
select sum(price) from car #求价格总和
select avg(price) from car #求价格的平均值
select max(price) from car #求最大值
select min(price) from car #求最小值 (10)分页查询
select * from car limit 0,10 #分页查询,跳过几条数据(0)取几条(10)
规定一个每页显示的条数:m
当前页数:n
select * from car limit (n-1)*m,m (11)去重查询
select distinct brand from car (12)分组查询
查询汽车表中,每个系列下汽车的数量
select brand,count(*) from car group by brand
分组之后,只能查询该列或聚合函数 取该系列价格平均值大于40的系列代号
select brand from car group by brand having avg(price)>40 取该系列油耗最大值大于8的系列代号
select brand from car group by brand having max(oil)>8 高级查询:
1.连接查询 同时查两张表 这种查询是扩展列,按列来排的。
select * from Info,Nation
形成笛卡尔积 如果第一个表里有五条数据第二个表里有十条数据,链接的结果就是5*10=50条
数据 这样的结果是一一对应,第二张表的第一条数据,会跟第一张表的所有数据对应一遍 也
就是说,第一张表的数据按照他规定的顺序该往下排往下排,第二张表的数据走第一遍时候只给
第一条数据一直复制一直复制。然后第一张表再走一遍,第二张表的第二条数据再复合一遍,以
此类推。直到第二个表的数据每一行复制完。 找出Info表和Nation中的Info表里的nation列=Nation表里的code列
select * from Info,Nation where Info.nation=Nation.code 找Info表里的code列,name列,sex列,取出Nation表里的name列,(as)是讲Nation列名改为(民
族)再取出Info表里的bithday列 下面就是上面那句话的意思。
select Info.code,Info.name,Info.sex,Nation.name as '民族',Info.birthday from
Info,Nation where Info.nation=Nation.code 注:Nation是Info表的外键,Info是主键
(as)是讲Nation列名改为(民族)数据库里没改。数据库里没改。只是让你在这查询里看看这
一列的意思。 关键字链接 :
找Info表 链接 Nation表在讲Info表里的nation列=Nation表里的code列
select * from Info join Nation on Info.nation=Nation.code 注:join是链接的意思 2.联合查询 查询的列数要一至。 查出code列,name列,这个表名是Info, 下面那个表名是Nation union是联合的意思 这种查询是扩展行,按行来排列的。
select code,name from Info
union
select code,name from Nation 3.子查询
子查询查询的结果作为父查询的条件 (1)无关子查询:子查询执行的时候和父查询没有关系
查民族为'汉族'的所有学生信息
先查出Info表里的nation列=(找出Nation表的name列='汉族的')
select * from Info where nation=(select code from nation where name='汉族') 查询生产厂商为'一汽大众'的所有汽车信息
select * from car where brand=()
select brand_code from brand where prod_code=()
select prod_code from productor where prod_name='一汽大众' select * from car where brand in(select brand_code from brand where prod_code=
(select prod_code from productor where prod_name='一汽大众')) (2)相关子查询
子查询在执行的时候需要用到父查询的内容 查询汽车表中,汽车油耗小于该系列平均油耗的所有汽车信息 select * from car where oil<(该系列平均油耗)
select avg(oil) from car where brand =(该系列) select * from car a where oil<(select avg(oil) from car b where b.brand =a.brand)

CRUD的操作,增删改查!的更多相关文章

  1. Hbase常用操作(增删改查)

    Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区  作者:net19880504 [字体:大 中 小]     运行Eclipse,创建一个新的Java工程“HBa ...

  2. Android-Sqlite-OOP方式操作增删改查

    之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...

  3. JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件

    JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...

  4. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  5. Django数据库操作(增删改查)

    Django数据库操作(增删改查) 创建数据库中的一个表 class Business(models.Model): #自动创建ID列 caption = models.CharField(max_l ...

  6. python全栈开发day62-两表操作增删改查,外键,if else模板语法

    一.今日内容总结: day62 内容回顾: 1. django有关所有命令: pip install django==1.11.14 django-admin startproject 项目名称 cd ...

  7. java单机操作redis3.2.10和集群操作增删改查

    先直接附上单机版的连接和增删改查,7000-7005是端口号 package com.yilian.util; import java.util.HashMap; import java.util.I ...

  8. Android-Sqlite-SQL操作增删改查

    一想到Android到数据库,只需要想到一个类 SQLiteOpenHelper,然后写一个类继承 SQLiteOpenHelper,重写构造方法,对数据库进行配置 public class MySQ ...

  9. django模型层之多表操作 增删改查

    多表操作之创建模型 这边以书为中心创建一个模型 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(on ...

  10. Hibernate修改操作 删除操作 查询操作 增加操作 增删改查 Hibernate增删查改语句

    我用的数据库是MySQL,实体类叫User public class User { private Integer uid; private String username; private Stri ...

随机推荐

  1. 深入理解JVM(一)——JVM内存模型

    JVM内存模型 Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是: 1. 程序计数器 2. Java虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区. ...

  2. sublime text 3-right click context menu

    dd a system wide windows explorer button " Edit with Sublime" similar to how Notepad++ doe ...

  3. Linux下利用backtrace追踪函数调用堆栈以及定位段错误[转]

    来源:Linux社区  作者:astrotycoon 一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序 ...

  4. SQL Server 数据库基础笔记分享(上)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

  5. 【XMPP】XMPP类型

    1.ConnectionConfiguration 作为用于与XMPP服务建立连接的配置.它能配置:连接是否使用TLS,SASL加密. 包含内嵌类:ConnectionConfiguration.Se ...

  6. 【Android】Android输入子系统

    成鹏致远 | lcw.cnblogs.com | 2013-10-25 Linux输入子系统回顾 1:为什么要回顾linux输入子系统?这个问题后面自然就知道了 1.linux输入子系统设备是基于平台 ...

  7. Asp.Net WebApi学习教程之增删改查

    webapi简介 在asp.net中,创建一个HTTP服务,有很多方案,以前用ashx,一般处理程序(HttpHandler),现在可以用webapi 微软的web api是在vs2012上的mvc4 ...

  8. Socket阻塞模式和非阻塞模式的区别

    简单点说: 阻塞就是干不完不准回来,    非组赛就是你先干,我现看看有其他事没有,完了告诉我一声 我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系 ...

  9. mininet下建立拓扑时关于远程控制器的一个小问题

    最近重装了系统和mininet后,使用mininet时遇到了一点小问题,一开始忽视了细节,使得自己被这个问题困扰了好一会儿,好在后来还是发现了问题所在,故记录下来. $ sudo mn --topo ...

  10. 1分钟了解MyISAM与InnoDB的索引差异

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/82111747 <数据 ...