版权声明:本文为博主原创文章,未经博主允许不得转载。 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';
好啦,本次记录就到这里了。
如果感觉不错的话,请多多点赞支持哦。。。