QT学习-06-SQLlite数据库

一、数据库结构图

注意:现实社会中,经常将数据库系统简称为“数据库”
QT学习-06-SQLlite数据库_第1张图片

二、sqllite简介

  • SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
  • 它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
    QT学习-06-SQLlite数据库_第2张图片

三、sqllite常用软件

链接:https://pan.baidu.com/s/1BUIydFptyQ-7ug-O0zhY4Q
提取码:dprf
(解压即能用)

四、数据库常用操作

  • 创建表

SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。
CREATE TABLE 语句的基本语法如下:

CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

应用示例:

CREATE  TABLE  stuInfo    /*-创建学员信息表-*/
(
    stuNo   CHAR(6)  primary key,   --学号,非空(必填)
    stuName  VARCHAR(20)  NOT  NULL ,  --姓名,非空(必填)
    stuAge  INT  NOT  NULL,  --年龄,INT类型默认为4个字节
    stuID  NUMERIC(18,0),     --身份证号(0-18位)
    stuSeat   INTEGER,   --座位号,自动编号
    stuAddress   TEXT   --住址,允许为空,即可选输入
) ;

  • 插入数据
    INSERT INTO 语句有两种基本语法,如下所示:
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  

VALUES (value1, value2, value3,…valueN);在这里,column1, column2,…columnN 是要插入数据的表中的列的名称。
如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致。SQLite 的 INSERT INTO 语法如下:

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

应用示例:

--方法1:指定的属性对应相应的数据
insert into stuInfo (stuNo,stuName,stuAge,stuID,stuSeat)
values('DX180815','wengmq',20,123456,0101);

--法2: 默认插入所有属性,这种方式必须每一栏都有数据
insert into stuInfo 
values('DX180816','wengmq',20,123456,0101,'xiamen');

执行结果:
QT学习-06-SQLlite数据库_第3张图片

修改数据

SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。

  • 语法:

UPDATE <表名> SET <列名 = 更新值>
[WHERE <更新条件>]

  • UPDATE Students SET SSEX = 0
  • UPDATE Students
    SET SAddress =‘北京女子职业技术学校家政班’
    WHERE SAddress = ‘北京女子职业技术学校刺绣班’
  • UPDATE Scores
    SET Scores = Scores + 5
    WHERE Scores <= 95
  • UPDATE Students SET remark = stu_name

删除数据

SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。

  • 语法:
    DELETE FROM <表名> [WHERE <删除条件>]

  • DELETE FROM Students WHERE SName =‘张青裁’

查询数据

SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。

  • 单表查询
  • 多表联表查询
  • 分组聚合查询
  • 嵌套子查询
  • 查询集合操作

单表查询:
SELECT [*]|[列名]
FROM [表名][,表名]
WHERE [查询条件]

示例:
–查询学号为GN1003的学生的座位号
select * from tab_student where stu_no=‘GN1003’

–查询年龄在18岁到23之间的所有学生
select * from t_student where sage>=18 and sage<=23;

–查询年龄不在18~23岁的所有学生
select * from t_student where sage<18 or sage>23;

–查询非jn200405001班级的学生信息
select * from t_student where not sclass=‘jn200405’
–或 select * from t_student where sclass<>‘jn200405’

你可能感兴趣的:(QT,SQL数据库)