SQLITE学习之SQLITE基础操作(一)

1、创建数据库

SQLite 的 sqlite3 命令被用来创建新的 SQLite 数据库。不需要任何特殊的权限即可创建一个数据。
Note:使用sqlite3命令还可以打开已经存在sqlite数据库。通常情况下,数据库的名称在RDBMS(关系数据库管理系统)内应该是唯一的。

  • 创建数据库的语法

     $sqlite3 DatabaseName.db
    
  • 创建数据库的具体操作如下所示:
    在这里插入图片描述
    上面的命令将在当前目录下创建一个文件 testDB.db。该文件将被 SQLite 引擎用作数据库。如果您已经注意到 sqlite3 命令在成功创建数据库文件之后,将提供一个 sqlite> 提示符。并且有上图可知数据库创建成功,可以使用.database命令来查看它是否在数据库列表中。
    补充:
    .dump 命令------可以在命令提示符中使用 SQLite .dump 点命令来导出完整的数据库在一个文本文件中,如下所示:

     $sqlite3 demo.db .dump > demo.sql
    

上面的命令将转换整个 demo.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII 文本文件 demo.sql 中。您可以通过简单的方式从生成的 demo.sql 恢复,如下所示:

	$sqlite3 testDB.db < testDB.sql

2、附加数据库

假设这样一种情况,当在同一时间有多个数据库可用,您想使用其中的任何一个。SQLite 的 ATTACH DATABASE 语句是用来选择一个特定的数据库,使用该命令后,所有的 SQLite 语句将在附加的数据库下执行。
附加数据库基本语法:

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

如果数据库尚未被创建,上面的命令将创建一个数据库,如果数据库已存在,则把数据库文件名称与逻辑数据库 ‘Alias-Name’ 绑定在一起。
具体操作如下所示:
在这里插入图片描述
Note:
数据库名称 main 和 temp 被保留用于主数据库和存储临时表及其他临时数据对象的数据库。这两个数据库名称可用于每个数据库连接,且不应该被用于附加,否则将得到一个警告消息,如下所示:

sqlite>  ATTACH DATABASE 'demo.db' as 'TEMP';
Error: database TEMP is already in use
sqlite>  ATTACH DATABASE 'demo.db' as 'main';
Error: database main is already in use;

3、分离数据库

SQLite的 DETACH DTABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。您无法分离 main 或 temp 数据库。
**Note:**如果数据库是在内存中或者是临时数据库,则该数据库将被摧毁,且内容将会丢失。

分离数据库基本语法:

DETACH DATABASE 'Alias-Name';

在这里,‘Alias-Name’ 与您之前使用 ATTACH 语句附加数据库时所用到的别名相同。
具体操作如下:

  • 创建了一个数据库,并给它附加了 ‘test’ 和 ‘current’,使用 .database 命令

     sqlite>.databases
     seq  name             file
     ---  ---------------  ----------------------
     0    main           /home/sqlite/demo.db
     2    test             /home/sqlite/demo.db
     3    current       /home/sqlite/demo.db
    

现在,把 ‘current’ 从 test.db 中分离出来,如下所示:

扫描二维码关注公众号,回复: 6476048 查看本文章
sqlite> DETACH DATABASE 'current';

现在,如果检查当前附加的数据库,发现demo.db 仍与 ‘test’ 和 ‘main’ 保持连接。

sqlite>.databases
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/demo.db
2    test             /home/sqlite/demo.db

4、创建表

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

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

CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识。您也可以选择指定带有 table_name 的 database_name。

创建了一个 company、department表,id 作为主键,not null 的约束表示在表中创建纪录时这些字段不能为 null:具体操作如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、删除表

SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。
Note:使用此命令时要特别注意,因为一旦一个表被删除,表中所有信息也将永远丢失。

sqlite删除表的基本语法:

DROP TABLE database_name.table_name;

sqlite删除表的具体操作:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cainiaoxiakexing/article/details/91875290