sqlite3学习之insert(添加)&select(查询)操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luyaran/article/details/86229648

SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行,语法有两种格式:

#指定列名称
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);
#不指定列名称
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

假设我们已经在 testDB.db 中创建了 COMPANY表,如下:

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

完事我们来插入一些记录:

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );

INSERT INTO COMPANY VALUES (2, 'James', 24, 'Houston', 10000.00 );

我们还可以通过在一个有一组字段的表上使用 select 语句,填充数据到另一个表中,语法如下:

INSERT INTO first_table_name [(column1, column2, ... columnN)] 
   SELECT column1, column2, ...columnN 
   FROM second_table_name
   [WHERE condition];

SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集,语法格式如下:

#1
SELECT column1, column2, columnN FROM table_name;

#2
SELECT column1, column2, columnN FROM table_name;

接下来我们来使用 SELECT 语句获取并显示所有这些记录,并且设置格式化的输出:

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;

有时,由于要显示的列的默认宽度导致 .mode column,这种情况下,输出被截断。此时,我们可以使用 .width num, num.... 命令设置显示列的宽度,如下:

sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;

上述代码中的 .width 命令设置第一列的宽度为 10,第二列的宽度为 20,第三列的宽度为 10。因此上述 SELECT 语句将得到以下结果:

ID          NAME                  AGE         ADDRESS     SALARY
----------  --------------------  ----------  ----------  ----------
1           Paul                  32          California  20000.0
2           Allen                 25          Texas       15000.0
3           Teddy                 23          Norway      20000.0
4           Mark                  25          Rich-Mond   65000.0
5           David                 27          Texas       85000.0
6           Kim                   22          South-Hall  45000.0
7           James                 24          Houston     10000.0

因为所有的点命令只在 SQLite 提示符中可用,所以当我们进行带有 SQLite 的编程时,我们要使用下面的带有 sqlite_master 表的 SELECT 语句来列出所有在数据库中创建的表:

SELECT tbl_name FROM sqlite_master WHERE type = 'table';

假设在 testDB.db 中已经存在唯一的 COMPANY 表,则将产生以下结果:

tbl_name
----------
COMPANY

我们还可以列出关于 COMPANY 表的完整信息,如下:

SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';

好啦,本次记录就到这里了。

如果感觉不错的话,请多多点赞支持哦。。。

猜你喜欢

转载自blog.csdn.net/luyaran/article/details/86229648
今日推荐