2016 - 3 - 12 SQLite的学习之SQL语言入门
1.SQL语句的特点:
1.1 不区分大小写
1.2 每条语句以;结尾
2.SQL语句中常用关键字:
select,insert,update,from,create,where,desc,order,by,group,table,alter,view,index等。
数据库中不能出现与上述关键字重名的表名和字段。
3.SQL语言种类:
3.1
数据定义语句: Data Defination Language; (DDL)
包括create和drop等操作
包括创建表或者删除表(create table 和 drop table)
3.2
数据操作语言: Data Manipulation Language (DML)
包括insert,update,delete等操作
上述三种操作分别作用于添加,修改,删除表中数据
3.3
数据查询语言:Data Query Language (DQL)
关键字select是DQL中用的最多的操作
其他常用的DQL中的关键字如 where,order by, group by 和 having.
4.SQL语句使用举例
4.1 DDL (数据定义语言)
4.1.1 创建表格
creat table 表名(字段名1 字段类型1,字段名2 字段类型2)
例如 : CREATE table t_student(id integer PRIMARY key, name text);
实际上SQLite是无类型的,就是是申明为integer类型,一样可以存储字符串数据(主键除外)
4.1.2 删除表格
drop table 表名
例如:DROP TABLE t_student;
4.2DML(数据操作语言)
4.2.1 插入数据
insert to 表名 (字段1,字段2)values(字段1的值,字段2的值)
例如:INSERT into t_student(id,name)VALUES(1,'zhengli');
4.2.2 修改数据
update 表名 set 字段1 = 字段1 新值
例如: update t_student set name = 'zhengli';(注意这样写会将表中的所有name的值更改)
4.2.3 删除数据
delete from 表名
例如: delete from t_student ; (与上面的语句一样,会删除表中所有数据!但不会删除表);
在上面的所有语句中,都可以加上条件语句,例如: update t_student set name = 'tangyi'where id = 1;
这样就只会修改 id =1 的数据。同时可以用and表示C语言中的&& or表示||。
4.3 DQL语句 (数据查询语句)
4.3.1 按照条件查询
select 字段1,字段2,... from 表名
select *from 表名 (查询表中所有字段)
4.3.2 排序查询
select * from 表名 oder by 字段名(默认升序)
select * from 表名 order by 字段名 desc (降序)
4.3.3 limit
select *from 表名 order by 字段名 (升序) limit 数值1,数值2
表示从表中取数据并按升序排列,跳过前数值1个数据,取数值2个数据
如: select * from t_student order by id limit 0,5;
升序排序取出前五条数据。
select *from t_student order by age desc limit 2,3;
降序排序 跳过前2条数据 取之后的3条数据
4.3.4 约束
内键约束
建表时可以给特定的字段设置一些约束条件,常见的约束有
1.not null 该字段不能为空
2.unique 该字段的值唯一,不能重复
3. default 制定该字段的默认值
例如: create table t_student (id integer primary key , name text not null unique,age integer not null default 1)
表名该表中的 name字段不能为空且不能重复,age不能为空且默认为1;
外键约束
利用外键约束,可以建立表与表之间的联系
外键约束的一般情况是,一张表的某个字段,引用着另一张表的主键字段
例如:
create table t_student(id integer primary key ,name text,class_id integer constraint fk_t_student_class_id_t_class_id foreign key (class_id) references t_class(id));
2016 - 3 - 12 SQLite的学习之SQL语言入门的更多相关文章
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- (一)Sql学习之sql语言的组成
SQL语言是具有强大查询功能的数据库结构化语言.由以下几部分组成: 1.数据定义类SQL(DDL--DATE DEFINITION LANGUAGE) CREATE-创建数据库及其对象(表,索引,视图 ...
- SQL学习笔记——SQL初入门,Ubuntu下MySQL的安装
刚开始接触sql,于是准备在Ubuntu下学习sql,就跟着itercast的sql教程开始入门了. 下面只是我个人的记录,高手请绕道: 一. 在安装之前,我们可以用下面这个命令通过开放端 ...
- SQL语言入门
内容来源:唐成. PostgreSQL修炼之道[M]. 机械工业出版社, 2015. 此书购买链接:京东 亚马逊 SQL(Structured Query Language) 结构化查询语言 1. 语 ...
- Android中的SQLite使用学习
Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是 ...
- 学习《SQL必知必会(第4版)》中文PDF+英文PDF+代码++福达BenForta(作者)
不管是数据分析还是Web程序开发,都会接触到数据库,SQL语法简洁,使用方式灵活,功能强大,已经成为当今程序员不可或缺的技能. 推荐学习<SQL必知必会(第4版)>,内容丰富,文字简洁明快 ...
- Web安全学习笔记 SQL注入上
Web安全学习笔记 SQL注入上 繁枝插云欣 --ICML8 SQL注入分类 SQL注入检测 一.注入分类 1.简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序在应用程序中,如果没有做恰当 ...
- 2016年12月31日 星期六 --出埃及记 Exodus 21:26
2016年12月31日 星期六 --出埃及记 Exodus 21:26 "If a man hits a manservant or maidservant in the eye and d ...
- 2016年12月30日 星期五 --出埃及记 Exodus 21:25
2016年12月30日 星期五 --出埃及记 Exodus 21:25 burn for burn, wound for wound, bruise for bruise.以烙还烙,以伤还伤,以打还打 ...
随机推荐
- MySQL DDL 整理
DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 -- 清空表内容 T ...
- 通过a标签在页面上显示视频网站中的视频
1.把视频传到优酷.腾讯等视频网站中 <!DOCTYPE html> <html> <head lang="en"> <meta char ...
- [C语言入门笔记]变量与数据类型
变量与数据类型 什么是变量? 变量是一个变化的量 是内存中的一个空间 变量的定义方法是什么? 数据类型 变量名 = 值; 数据类型有哪些? 整型int 浮点型float double 字符型char ...
- SSL/TLS协议运行机制的概述
互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和运行过程,不涉及具体的实现细节.如果想了解这方面的内容,请参阅RFC文档. 一.作用 ...
- Fragment:关于Avoid non-default constructors in fragments的错误
在android开发中,写了一个关于继承Fragment的类时,如果有重载构造函数时,会提示“Avoid non-default constructors in fragments: use a de ...
- JSON格式化与serialize序列化
一.JSON格式化 1. JSON是什么 JSON是一种数据的存储格式,用来沟通客户端Javascript和服务端PHP的交互.我们把用PHP生成JSON后的字符串传给前台Javascript,Jav ...
- 单例模式(singleton)
什么是单例模式:(singleton) 单例模式的意图是类的对象成为系统中唯一的实例,提供一个访问点,供客户类共分享资源 单例类,必须提供一个接入点(特殊的类方法) // SingletonTools ...
- 三:关于tcp
转自:http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深 ...
- 关于js异步上传文件
好久没登录博客园了,今天来一发分享. 最近项目里有个需求,上传文件(好吧,这种需求很常见,这也不是第一次遇到了).当时第一想法就是直接用form表单提交(原谅我以前就是这么干的),不过表单里不仅有文件 ...
- 一个crackme的分析
是看雪合集的一个,因为老师让我们多练习,所以我就找了个crackme来练习 http://images2015.cnblogs.com/blog/638600/201612/638600-201612 ...