微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLite 约束和简单命令

安装sqlite3,配置环境变量。

1.打开数据库

sqlite3.exe db_name.db

2.常用命令

.tables  查看所有表

.headers on  设置显示表头

.schema table_name  查看建表语言

.output a.txt   输出重定向到a.txt中

.output stdout  输出重定向到标准输出

PRAGMA table_info(table_name);  //暂时没发现作用

 

3.建表

CREATE TABLE IF NOT EXISTS Student(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
Name TEXT NOT NULL,
Class  TEXT NOT NULL,
Age TEXT DEFAULT '',
Grade INT CHECK(Grade > 0), UNIQUE(Name, Class));

NOT NULL 约束:确保某列不能有 NULL 值。
DEFAULT 约束:没有指定值时,填入认值
UNIQUE 约束:key=(Name, Class),无法再次插入相同key的数据。
PRIMARY Key 约束:唯一标识数据库表中的各行/记录。
CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。

 

4.插入数据

INSERT INTO Student(Name,Class,Grade) values('ZHANG SAN','16',10);              //success
INSERT INTO Student(Name,Class,Age,Grade) values('ZHANG SAN','9','16',10);      //success
INSERT INTO Student(Name,Class,Age,Grade) values('ZHANG SAN','10','16',10);      //success
INSERT INTO Student(Name,Class,Age,Grade) values('ZHANG SAN','10','16',10);      //Error: UNIQUE constraint Failed: Student.Name, Student.Class
INSERT INTO Student(Name,Class,Age,Grade) values('ZHANG SAN','10','16',-1);      //Error: CHECK constraint Failed: Grade > 0

 

5.查询

SELECT * FROM Student WHERE Name='ZHANG SAN' OR/AND Age='10';

 

6.删除表里所有数据

DELETE FROM Student;

 

7.修改表名

ALTER TABLE Student RENAME TO Teacher;

 

8.增加/删除

ALTER TABLE Student ADD COLUMN Status TEXT NOT NULL default '';
ALTER TABLE Student DROP COLUMN Status;

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐