[QT][SQL]sql学习记录3_sqlite 使用

详见 : http://www.runoob.com/sqlite/sqlite-create-table.html

约束表实例

下面是一个实例,它创建了一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL:

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

使用一个表来填充另一个表

您可以通过在一个有一组字段的表上使用 select 语句,填充数据到另一个表中。下面是语法:

INSERT INTO first_table_name [(column1, column2, ... columnN)]
   SELECT column1, column2, ...columnN
   FROM second_table_name
   [WHERE condition];

您暂时可以先跳过上面的语句,可以先学习后面章节中介绍的 SELECT 和 WHERE 子句。

sqlite 运算符

定义/例子详见 : http://www.runoob.com/sqlite/sqlite-operators.html

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符

SQLite Update 语句

实例

假设 COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一个实例,它会更新 ID 为 6 的客户地址:

sqlite> UPDATE COMPANY SET ADDRESS = ‘Texas‘ WHERE ID = 6;

现在,COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          Texas       45000.0
7           James       24          Houston     10000.0

如果您想修改 COMPANY 表中 ADDRESS 和 SALARY 列的所有值,则不需要使用 WHERE 子句,UPDATE 查询如下:

sqlite> UPDATE COMPANY SET ADDRESS = ‘Texas‘, SALARY = 20000.00;

现在,COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          Texas       20000.0
2           Allen       25          Texas       20000.0
3           Teddy       23          Texas       20000.0
4           Mark        25          Texas       20000.0
5           David       27          Texas       20000.0
6           Kim         22          Texas       20000.0
7           James       24          Texas       20000.0

SQLite Delete 语句

实例

假设 COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一个实例,它会删除 ID 为 7 的客户:

sqlite> DELETE FROM COMPANY WHERE ID = 7;

现在,COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0

如果您想要从 COMPANY 表中删除所有记录,则不需要使用 WHERE 子句,DELETE 查询如下:

sqlite> DELETE FROM COMPANY;

现在,COMPANY 表中没有任何的记录,因为所有的记录已经通过 DELETE 语句删除。

SQLite Like 子句

实例

下面一些实例演示了 带有 ‘%‘ 和 ‘_‘ 运算符的 LIKE 子句不同的地方:

语句 描述
WHERE SALARY LIKE ‘200%‘ 查找以 200 开头的任意值
WHERE SALARY LIKE ‘%200%‘ 查找任意位置包含 200 的任意值
WHERE SALARY LIKE ‘_00%‘ 查找第二位和第三位为 00 的任意值
WHERE SALARY LIKE ‘2_%_%‘ 查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY LIKE ‘%2‘ 查找以 2 结尾的任意值
WHERE SALARY LIKE ‘_2%3‘ 查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY LIKE ‘2___3‘ 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值
时间: 2024-10-09 01:51:08

[QT][SQL]sql学习记录3_sqlite 使用的相关文章

[QT][SQL]sq]学习记录1_模糊搜索

sql学习网站: http://www.w3school.com.cn/sql/index.asp 用于模糊搜索数据库的数据 语句:http://www.w3school.com.cn/sql/sql_like.aspSQL LIKE 操作符: 接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:我们可以使用下面的 SELECT 语句:SELECT * FROM PersonsWHERE City LIKE '%lon%'

SQL Server学习记录Day1

最近在学习SQL Server 数据库,用的版本是2008 R2的版本,如下图所示,本人学习时间不长,写这篇文章一是为了锻炼自己加深印象,二也可以与和诸多朋友进行交流以及得到大家的指教. 安装教程网上有很多,可以自行去搜索,但是安装时有一些小细节,在安装到实例配置的时候,如果没有安装过其它版本的SQL SERVER,请选择默认实例,如果有安装过,则手工指定实例.如果一台电脑安装了多个实例的SQL SERVER,每个实例的端口是不一样的,当在软件中设置服务器连接地址时需要注意,例如:192.168

SQL语法学习记录——JOIN

学习内容参考来源:www.runoob.com JOIN准备 --为了方便练习,在数据库中创建演示数据: create database TEST; use TEST ; ---------- go --建立[网站信息表],可以视作基础资料表: create table website (id int primary key, name varchar(255), url varchar(255), alexa varchar(255), country varchar(255) ) inser

SQL Server学习记录之获取每月每季度每年第一天和最后一天

DECLARE@dtdatetime SET@dt=GETDATE() DECLARE@numberint SET@number=3 --1.指定日期该年的第一天或最后一天 --A. 年的第一天 SELECTCONVERT(char(5),@dt,120)+'1-1' --B. 年的最后一天 SELECTCONVERT(char(5),@dt,120)+'12-31' --2.指定日期所在季度的第一天或最后一天 --A. 季度的第一天 SELECTCONVERT(datetime, CONVER

SQL Server2008R2学习记录

判断存在 1,判断表存在字段(参考:https://www.cnblogs.com/ouyy/p/9202491.html) IF EXISTS(SELECT 1 FROM SYSOBJECTS so,SYSCOLUMNS sc WHERE so.ID = sc.ID AND so.NAME='表名' AND sc.NAME='字段') IF EXISTS(SELECT 1 FROM syscolumns WHERE id = object_id('表名') AND name = '字段') I

QT小技巧学习记录

1. 光标定位最后一行     ui->revTextBrower->moveCursor(QTextCursor::End); 2. 隐藏标题栏 3. 如果不考虑跨平台的话,在隐藏标题栏的时候,移动窗口最简单的方法 //事件 void SerialPort::mouseMoveEvent(QMouseEvent *event) { if (ReleaseCapture()) SendMessage(HWND(this->winId()), WM_SYSCOMMAND, SC_MOVE

SQL 语句学习

Sql语句学习 一. select playerId, count(playerId) as num from OperateLog_$i where playerId > 0 and rootId = 12 and typeId = 12156 and actionTime >= 1381509000000 and actionTime <= 1381511220000 group by playerId having count(*) > 2; this-- > 可以计算

SQL触发器学习

? 简介 触发器是一种特殊类型的存储过程.触发器分为: DML( 数据操纵语言 Data Manipulation Language)触发器:数据库中表或视图的数据更改时触发,包括insert,update,delete语句 DDL(数据定义语言 Data Definition Language)触发器:表或索引中的create.alter.drop语句. 登陆触发器:是指当用户登录SQL SERVER实例建立会话时触发. ? 优劣 可以强制执行业务规则: Microsoft SQL Serve

mysql学习之三:sql语句学习

SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统.SQL 语句用于取回和更新数据库中的数据.SQL 可与数据库程序协同工作,比如MySQL. MS Access.DB2.Informix.MS SQL Server.Oracle.Sybase 以及其他数据库系统. 不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT.UPDATE.DELETE.INSERT.WHERE 等等).