1.创建数据库
我们可以使用 .open
来建立新的数据库文件:(会新建到CMD当前运行的路径下)
sqlite>.open test.db
命令,以上命令如果 test.db 存在则直接会打开,不存在就创建它。.open
打开已存在数据库也是用 另外,主要的方法:
sqlite3 DatabaseName.db
.databases main: D:\CStools\SQLite\test.db r/w
一旦数据库被创建,您就可以使用 SQLite 的 .databases 命令来检查它是否在数据库列表中
sqlite>.quit $
命令退出 sqlite 提示符,如下所示:.quit
您可以使用 SQLite
2.附加数据库
假设这样一种情况,当在同一时间有多个数据库可用,您想使用其中的任何一个。SQLite 的 ATTACH DATABASE 语句是用来选择一个特定的数据库,使用该命令后,所有的 SQLite 语句将在附加的数据库下执行。SQLite 的 ATTACH DATABASE 语句的基本语法如下:
ATTACH DATABASE file_name AS database_name;
例如:
attach database 'test.db' as 'test'
.database
此时再次执行
.database main: D:\CStools\SQLite\test.db r/w test: D:\CStools\SQLite\test.db r/w
注意:数据库名称 main 和 temp被保留用于主数据库和存储临时表及其他临时数据对象的数据库。这两个数据库名称可用于每个数据库连接,且不应该被用于附加,否则将得到一个警告消息❌
sqlite> ATTACH DATABASE 'testDB.db' as 'TEMP'; Error: database TEMP is already in use sqlite> ATTACH DATABASE 'testDB.db' as 'main'; Error: database main is already in use;
3.分离数据库
SQLite 的 DETACH DATABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。您无法分离 main 或 temp 数据库。SQLite 的 DETACH DATABASE ‘Alias-Name’ 语句的基本语法如下:
DETACH DATABASE 'Alias-Name';
例如:
detach database 'test';
命令:可以看到方才附加的test数据库已经消失了.database
此时再次执行
.database main: D:\CStools\SQLite\test.db r/w
4.创建表
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, );
实例:创建两个表
表company:
sqlite> create table company( ...> ID INT PRIMARY KEY NOT NULL, ...> NAME TEXT NOT NULL, ...> ADDRESS CHAR(50), ...> SALARY REAL ...> );
表DEPARTMENT:
sqlite> CREATE TABLE DEPARTMENT( ...> ID INT PRIMARY KEY NOT NULL, ...> DEPT CHAR(50) NOT NULL, ...> EMP_ID INT NOT NULL ...> );
您可以使用 SQLIte 命令中的 .tables 命令来验证表是否已成功创建,该命令用于列出附加数据库中的所有表
sqlite> .table COMPANY DEPARTMENT
您可以使用 .schema 命令得到表的完整信息,如下所示:
sqlite> .schema company CREATE TABLE company( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
5.删除表
SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。
DROP TABLE 语句的基本语法如下。您可以选择指定带有表名的数据库名称,如下所示:
DROP TABLE database_name.table_name;
例如:我们删除刚才创建的company表
sqlite> drop table company; sqlite> .tables DEPARTMENT