《SQLite3—创建数据库、创建及删除表、添加字段和获取数据》1.创建数据库
$sqlite3 DatabaseName.db
查询数据库列表:
drop删除表可以使⽤ SQLite 的 .database 命令来检查它是否在数据库列表中
退出sqlite>提⽰符:
sqlite>.quit
导出数据库:
$sqlite3 testDB.db .dump > testDB.sql
上⾯的命令将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII ⽂本⽂件 testDB.sql 中。您可以通过简单的⽅式从⽣成的 testDB.sql 恢复,如下所⽰:$sqlite3 testDB.db < testDB.sql
2.创建表
CREATE TABLE语法:
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 表,ID 作为主键,NOT NULL 的约束表⽰在表中创建纪录时这些字段不能为 NULL:
sqlite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
其中ID就是作为主键。主键的意思就是唯⼀标识符。不会出现重复。
ID,NAME,AGE这些都是列,也就是字段。
为什么要有主键?
⽐如⽤COMPANY中的NANE这个字段,有可能出现同名同姓的⼈,那么在这个时候就会出现检索混乱的问题。所以增加主键,作为唯⼀标识符。
NOT NULL表⽰这个字段不能为空,必须要填写。
.tables列出数据库所有表:
sqlite>.tables
COMPANY
.schema列出表的完整信息:
sqlite>.schema COMPANY
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
3.删除表
DROP TABLE语法:
DROP TABLE database_name.table_name;
实例:
sqlite>.tables
COMPANY
这意味着 COMPANY 表已存在数据库中,接下来让我们把它从数据库中删除,如下:
sqlite>DROP TABLE COMPANY;
sqlite>
现在,如果尝试 .TABLES 命令,那么将⽆法到 COMPANY 表了:
sqlite>.tables
sqlite>
4.向表中的字段添加数据
INSERT INTO
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
在这⾥,column1, column2,...columnN 是要插⼊数据的表中的列的名称。也就是要插⼊到哪个字段。
如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序⼀致。SQLite 的 INSERT INTO 语法如下:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
实例:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
也可以使⽤第⼆种语法在 COMPANY 表中创建⼀个记录,如下所⽰:
INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );
5.获取表中数据
SELECT语法:
SELECT column1, column2, columnN FROM table_name;
在这⾥,column1, 是表的字段,他们的值即是您要获取的。如果您想获取所有可⽤的字段,那么可以使⽤下⾯的语法:
SELECT * FROM table_name;
实例:
假设 COMPANY 表有以下记录:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 3
2 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 2
5 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
使⽤ SELECT 语句获取并显⽰所有这些记录。在这⾥,前两个命令被⽤来设置正确格式化的输出。sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;
最后,将得到以下的结果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 3
2 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 2
5 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
如果只想获取 COMPANY 表中指定的字段,则使⽤下⾯的查询:
sqlite> SELECT ID, NAME, SALARY FROM COMPANY;
上⾯的查询会产⽣以下结果:
ID NAME SALARY
---------- ---------- ----------
1 Paul 20000.0
2 Allen 15000.0
3 Teddy 20000.0
4 Mark 65000.0
5 David 85000.0
6 Kim 45000.0
7 James 10000.0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论