• SQLlite


    SQLlite

    SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。

    一、什么是 SQLite

    ​ SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,不需要在系统中配置。

    ​ 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

    二、SQLite的优势

    • 不需要一个单独的服务器进程或操作的系统(无服务器的)。
    • SQLite 不需要配置,这意味着不需要安装或管理。
    • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
    • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
    • SQLite 是自给自足的,这意味着不需要任何外部的依赖。
    • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
    • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
    • SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
    • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

    三、SQLite命令

    1.常用指令
    1. .open filename --打开文件
    2. .show --显示SQLite 命令提示符的默认设置
    3. .q --退出
    4. .databases --显示数据库(注:显示打开的数据库)
    5. .help --帮助
    6. .dump --导入导出数据库
    7. .tables --查看表
    2.数据类型
    存储类描述
    NULL值是一个 NULL 值。
    INTEGER值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
    REAL值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
    TEXT值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
    BLOB值是一个 blob 数据,完全根据它的输入存储。
    3.DDL–操作数据库
    1.创建数据库:
    	sqlite3 DatabaseName.db
    	eg:  sqlite3 testDB.db(创建一个testDB的数据库)
    2.删除数据库:
    	rm DatabaseName.db(直接删除创建出来的文件即可)
    	eg: rm testDB.db(删除创建出来的数据库文件)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    4.DML–操作表
    1.创建表
    	CREATE TABLE database_name.table_name(
       column1 datatype  PRIMARY KEY(one or more columns),
       column2 datatype,
       column3 datatype,
       .....
       columnN datatype,
    );
    	eg: CREATE TABLE student(id int priamy key not null,name text, age Integer, salary real);
    2.删除表
    	DROP TABLE database_name.table_name;
    	eg: DROP TABLE	student;
    3.插入语句:
    	INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
    VALUES (value1, value2, value3,...valueN);
    	eg1: INSERT INTO student values(1,"qiyihao",23,5000.50);(按照表结构插入数据)
    	eg2: INSERT INTO student (id,name,age) values(2,"zhao",22);(按照表结构中指定字段插入数据)
    4.查询语句:
    	SELECT column1, column2, columnN FROM table_name;(查询指定列)
    	SELECT * FROM table_name;(查询所有)
    	eg1: SELECT id, age, age FROM student;
    	eg2: SELECT * FROM student;
    5.更新语句:
    	UPDATE table_name
    SET column1 = value1, column2 = value2...., columnN = valueN
    WHERE [condition];
    	
    	eg: UPDATE student 
    	SET age = 22, name = "qiyihao"
        WHERE id = 1 ;
    6.删除语句:
    	DELETE FROM table_name
    WHERE [condition];
    	
    	eg: DELETE FROM student
    WHERE id = 1;
    
    	DELETE FROM table_name;(清空表中所有数据)
    	eg: DELETE FROM student;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    5.格式化输出指令

    (1).schema (查看表中详细信息)

    (2)格式化输出

    	a.非格式化输出      select * from user_relation;
    
    • 1

    在这里插入图片描述

     	b.格式输出      	
    					.header on
    					.mode column
    					.select * from user_relation;
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    (3)查看表结构

    1.查看数据库中所有表结构
    					select * from sqlite_master ;
    2.查看数据库中指定表结构
    					select * from sqlite_master where type = "table" and name = "student";
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    数仓4.0(一)
    【分类模型】Q 型聚类分析
    代码随想录Day24 LeetCode T491 递增子序列 LeetCode T46 全排列 LrrtCode T47 全排列II
    氨基修饰二硒化钨WSe2纳米粒 (NH2-WSe2)|羧酸聚乙二醇修饰二硒化钨 (COOH-PEG-WSe2)
    编写高效的Java工具类:实用技巧与设计模式
    机器学习极值问题
    【Item 02: 尽量以const, enum, inline替换 #define】
    EL是什么?(详解)
    ISP算法----AWB总结及源代码
    xcode15下载ios17模拟器失败
  • 原文地址:https://blog.csdn.net/qq_45874107/article/details/127970812