SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,不需要在系统中配置。
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
存储类 | 描述 |
---|---|
NULL | 值是一个 NULL 值。 |
INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
BLOB | 值是一个 blob 数据,完全根据它的输入存储。 |
1.创建数据库:sqlite3 DatabaseName.dbeg: sqlite3 testDB.db(创建一个testDB的数据库)
2.删除数据库:rm DatabaseName.db(直接删除创建出来的文件即可)eg: rm testDB.db(删除创建出来的数据库文件)
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).schema (查看表中详细信息)
(2)格式化输出
a.非格式化输出 select * from user_relation;
b.格式输出 .header on.mode column.select * from user_relation;
(3)查看表结构
1.查看数据库中所有表结构select * from sqlite_master ;
2.查看数据库中指定表结构select * from sqlite_master where type = "table" and name = "student";