入门级别的sql语句,“--”两条横线表示sql语句的注释

表:

id     name   age   height
2015102   老王   68    170.3
20150101  张三   null   null
20150102  小王   8     170.3
20150102  老王   68     170.3
20150102  老王   68     170.3
20150102  老王   68     170.3
20150102  老王   68     170.3
20150102  老王   68      170.3


-- 数据库(database):存储数据的仓库,
-- 数据库(database)--数据表(table)--列名(字段-field)--数据(值-value)
--创建表
--(在sqlite数据库中创建表的时候定义数据类型的起不来限制数据类型的作用的
--因为sqlite的数据的数据类型数弱类型,它会根据用户输入的数据进行自动的识别并添加
--到数据库表中,和大多数数据库一样,sqlite 是大小写不敏感的) -- sqlite 数据库中的五类数据类型:1、整数-integer 2、浮点数(小数)-real
-- 3、文本-text 4、二进制文件(图片、声音为典型代表)-blob 5、空类型-null
--
--
--CREATE TABLE 表名称
--(
--列名称1 数据类型,
--列名称2 数据类型,
--列名称3 数据类型,
--....
--)
-- 字段与字段直接用“,”号隔开,字段的一些属性用空格“ ”隔开,最后一个字段不要有“,”
create table person(
id integer not null,
name text,
age integer,
height real
) -- 删除表
drop table person --对数据库的操作无非就是CRUD
-- C:增加(增)-Create
-- R:读取(查)-Retrieve
-- U:更新(改)-Update
-- D:删除(删)-Delete --查:获取表中全部数据
select * from person --增:添加数据--文本类型要用双引号("")或者单引号('')括起来
--insert into 表 values (值1, 值2, 值3...)
-- 或者指定添加内容
-- insert into 表(字段1, 字段2, ...) values (值1, 值2, 值3...)
-- 注意:如果字段类型定义为数值型,如果插入了文本型,虽然不会报错,但是无法插入,显示的值可能为0
insert into person values(20150102, '老王', 68,170.3)
insert into person(id, name) values (20150101, '张三') --删:删除数据(不能删除某个数据)
--格式:delete from 表 where 。。。
--像MySQL还可以:delete * from 表 where 。。。(比sqlite多了个“*”)
-- 进行删除操作要谨慎,记得加上条件+加上条件+加上条件。否则会将整张表的数据删除
delete from person where id=20150102 -- 改:修改数据
-- update 表 set 列名称 = 新值 , 列名称=新值 。。。 where 列名称 = 某值
-- 记得修改的条件,如果你想修改这个表中改字段(列名称)的所有值为相同的话可以不加条件
update person set name='小王', age=8 where id=20150102 -- 查:查询数据(重点+难点)
-- 格式 select * from 表
-- 查询所有数据 :
select * from person
-- 使结果中不出现重复数据(例如id)
select distinct id from person
-- 模糊查询:%:所有字符;_单个字符
select * from person where name like'老_'
-- 排序:降序:order by 字段 desc 升序:order by 字段 desc
select * from person order by age desc
-- 统计 :总数count(*);最大值max(字段);最小值min(字段);avg(字段)
select max(age) from person
-- 选择前几项:limit 开始, 数量;不要加括号,开始下标从0开始,一般都是放在语句的最后面,也有用 top 数值 的
-- eg:获取前三条
select * from person limit 0,3
-- 分组 : group by 字段
-- eg: 统计不同id 的人数;相同字段的分为一组
select count(*) from person group by id
-- 比较 >, <, =, !=
select * from person where id=2015102
-- 在 。。 之间 :between 值1 and 值2,介于两个值之间的数据范围。这些值可以是数值、文本或者日期
select * from person where id between 201501 and 20151110 -- 包含 : 字段 in(值1,值2。。)
select * from person where id in(1001,1002,1003,20150101)

SQL语句——入门级的更多相关文章

  1. PostGIS 通过SQL语句实现空间分析【入门级】

    PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象.空间索引.空间操作函数和空间操作符.同时,PostGIS遵循OpenGIS的规范. ...

  2. 1.4 数据库和常用SQL语句(正文)——MySQL数据库命令和SQL语句

    前面我们已经讲述了,登录时,我们使用mysql –u root –p命令进行,此时如果设置了密码,则需要输入密码. 输入密码后即进入MySQL的操作界面,此时,命令行窗体左侧显示"mysql ...

  3. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  4. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

  5. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  6. Oracle ------ SQLDeveloper中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...

  7. SQL语句优化

    (1)      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...

  8. LinqToDB 源码分析——生成与执行SQL语句

    生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...

  9. 年终巨献 史上最全 ——LINQ to SQL语句

    LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...

随机推荐

  1. VS2010中如何将动态链接库改成静态链接库

    VS2010中如何将动态链接库改成静态链接库 VS2010静态编译生成的.exe可执行文件,可以免安装免DLL在其他电脑直接运行. 静态编译:就是在编译可执行文件的时候,将可执行文件需要调用的对应动态 ...

  2. HTML5和App之争论

    2013了,移动互联网火了几年,我们也看清了原生App的真面目,App很多很好,但是盈利很难,这时我们不得不把目光重新转向HTML5. 简单地说,HTML5是一个新技术,可以让开发者基于Web开发的A ...

  3. solr特点三: 基于Solr实现排序定制化参考

    排序实现有N种形式,最低成本.最快响应时间是目标 一份索引,支持N种排序策略并且在线互不干扰是要考虑的每一种实现,处理的场景是不同的,不要千篇一律 020排序,从索引到效果,有不少坑,这篇文章没有细说 ...

  4. DotNetBar.MetroTilePanel 样式、加载数据、获取数据

    描述下:MetroTilePanel包含子集ItemContainer  子集下面又包含子集MetroTileItem  目前我用到的就是这三层 因为需求所以整个模块全部由代码实现 1.ItemCon ...

  5. Layui:踩坑之我见

    layui.form.on("XXX",function(){});  此方法会有事件冒泡的现象产生,解决方法是return false  或者使用 layui.stope(),但 ...

  6. C# 判断质数的2种基本方法

    质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 目前学习了判断数字n是否为质数的2种基本方法: 一.计数法 根据定义,既然质数只 ...

  7. JS 面向对象详解

    面向对象详解1 OO1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  8. JAVA实现长连接(含心跳检测)Demo

    实现原理: 长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的.       如果,长时间未发送维持连接包,服务端程序将断开连接. 客户端:       Client通过持有Sock ...

  9. “全栈2019”Java多线程第十五章:当后台线程遇到finally

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  10. InnoDB: The innodb_system data file 'ibdata1' must be writable错误

    重新安装percona5.7过程中,启动mysql服务总是报如下的错误 --10T02::.781070Z [ERROR] InnoDB: The innodb_system data file 'i ...