SQLite数据库基本操作

创建数据库

  • 使用  sqlite3 + “数据库名”  进行创建,创建后使用 .database 来查看数据是否存在,也只有在 .database 之后,才能在终端中看到;
  • root@custVBOX:~/sdbms# rm *
    root@custVBOX:~/sdbms# ls
    root@custVBOX:~/sdbms# sqlite3 testDB.db
    SQLite version 3.28.0 2019-04-16 19:49:53
    Enter ".help" for usage hints.
    sqlite> .database
    main: /root/sdbms/testDB.db
    sqlite> .quit
    root@custVBOX:~/sdbms# ls
    testDB.db

创建/删除表

创建表

  • 使用  CREAT TABLE 创建一张表,语法如下:
  • CREATE TABLE database_name.table_name(
       column1 datatype ,
       column2 datatype,
       column3 datatype,
       .....
       columnN datatype,
       PRIMARY KEY(one or more columns)
    );
  • CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识。您也可以选择指定带有 table_name 的 database_name
  • PRIMARY KEY 为 主键,作为数据索引的标识;
  • CREATE TABLE创建一张表, 并使用 .tables 查看表是否存在,再使用 .schema 命令来查看表的完整信息
  • sqlite> .tables
    sqlite> CREATE TABLE "STUDENT" (
       ...> "ID" INTEGER NOT NULL,
       ...> "NAME" TEXT,
       ...> "AGE" INTEGER,
       ...> PRIMARY KEY ("ID")
       ...> );
    sqlite> .tables
    STUDENT
    sqlite> .schema STUDENT
    CREATE TABLE IF NOT EXISTS "STUDENT" (
    "ID" INTEGER NOT NULL,
    "NAME" TEXT,
    "AGE" INTEGER,
    PRIMARY KEY ("ID")
    );
    sqlite> 

删除表

  • SQLite 的 DROP TABLE 语句用来删除表,删除后,表中的信息将永久丢失;
  • 语法如下:
  • DROP TABLE database_name.table_name;
  • 先创建一张多余的表,再将其删除;
  • sqlite> .tables
    STUDENT
    sqlite> CREATE TABLE "TEST" (
       ...> "ID" INTEGER NOT NULL,
       ...> PRIMARY KEY("ID")
       ...> );
    sqlite> .tables
    STUDENT  TEST   
    sqlite> DROP TABLE TEST;
    sqlite> .tables
    STUDENT
    sqlite> 

数据插入

  •  使用 INSERT INTO 向数据库中添加新的数据行;
  • 语法如下:
  • INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
    VALUES (value1, value2, value3,...valueN);
  • column1, column2,...columnN 是要插入数据的表中的列的名称。也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致;
  • INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
  • 向 STUDENT 表中插入数据,并使用 SELECT 语句进行数据查看。 .mode column 格式化数据输出格式
  • sqlite> .schema
    CREATE TABLE IF NOT EXISTS "STUDENT" (
    "ID" INTEGER NOT NULL,
    "NAME" TEXT,
    "AGE" INTEGER,
    PRIMARY KEY ("ID")
    );
    sqlite> INSERT INTO STUDENT VALUES (1, "WANG", 22);
    sqlite> INSERT INTO STUDENT VALUES (2, "LI",21);
    sqlite> INSERT INTO STUDENT VALUES (3, "LI", 25);
    sqlite> INSERT INTO STUDENT VALUES (4, "FAN", 22);
    sqlite> INSERT INTO STUDENT VALUES (5, "ZHANG", 23);
    sqlite> INSERT INTO STUDENT VALUES (6, "ZHAO", 23);
    sqlite> INSERT INTO STUDENT VALUES (7, "YIN", 21);
    sqlite> INSERT INTO STUDENT VALUES (8, "XIAO", 16);
    sqlite> .mode column
    sqlite> SELECT * FROM STUDENT;
    1           WANG        22        
    2           LI          21        
    3           LI          25        
    4           FAN         22        
    5           ZHANG       23        
    6           ZHAO        23        
    7           YIN         21        
    8           XIAO        16 

数据查询

  •  SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。
  • 语法如下:
  • SELECT column1, column2, columnN FROM table_name;
  • ,column1, column2...是表的字段,他们的值即是您要获取的。如果您想获取所有可用的字段,那么可以使用下面的语法:
  • SELECT * FROM table_name;
  • 获取STUDENT表中的 ID 和 name 数据:
  • sqlite> SELECT ID, NAME FROM STUDENT;
    1           WANG      
    2           LI        
    3           LI        
    4           FAN       
    5           ZHANG     
    6           ZHAO      
    7           YIN       
    8           XIAO 
  • 获取STUDENT表中的所有数据:
  • sqlite> SELECT * FROM STUDENT;
    1           WANG        22        
    2           LI          21        
    3           LI          25        
    4           FAN         22        
    5           ZHANG       23        
    6           ZHAO        23        
    7           YIN         21        
    8           XIAO        16

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能