sqlite基本用法

时间:2021-10-21 09:50:08

一、数据库操作(创建)

创建数据库

$sqlite3 DatabaseName.db
$sqlite3 testDB.db .dump > testDB.sql  --导出数据库在文本文件中
$sqlite3 testDB.db < testDB.sql      --将数据库从文本文件中恢复
--创建一个.sql文件,其中有一个table COMPANY,并向COMPANY中插入一个条数据
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE COMPANY(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
INSERT INTO COMPANY (NAME, AGE, ADDRESS, SALARY) VALUES('Paul', 32, 'California', 20000.0); COMMIT;

附加数据库

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

分离数据库

DETACH DATABASE 'Alias-Name';

二、表操作(创建、删除、修改(重命名、添加列)、查看)

创建表

CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
--查看数据库中存在的表
sqlite>.tables
COMPANY DEPARTMENT
--查看表的完整信息
sqlite>.schema COMPANY
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

修改表

--修改表名
ALTER TABLE table_name RENAME TO new_table_name;
--给表添加一个新的列
ALTER TABLE table_name ADD COLUMN column_def...;

删除表

DROP TABLE database_name.table_name;

三、数据操作(创建、删除、更新、查看)

向表中添加数据

INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

删除表中数据

DELETE FROM table_name
WHERE [condition];

更新表中数据

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

查看表中数据

SELECT column1, column2, columnN FROM table_name;
SELECT * FROM table_name;
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

修改数据显示格式

sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>

参考资料:

  https://www.sqlite.org/index.html(sqlite官方文档)

  https://www.runoob.com/sqlite/sqlite-tutorial.html(菜鸟教程sqlite)

  https://cloud.tencent.com/developer/doc/1228(腾讯云sqlite开发者手册)

  http://www.cnblogs.com/mingforyou/archive/2013/02/19/2917122.html