SQLite3 约束和简单命令

摘要:
安装sqlite3,配置环境变量。DEFAULT约束:没有指定值时,填入默认值UNIQUE约束:key=,无法再次插入相同key的数据。PRIMARYKey约束:唯一标识数据库表中的各行/记录。CHECK约束:CHECK约束确保某列中的所有值满足一定条件。

安装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 TABLEIF NOT EXISTS Student(
ID INTEGER PRIMARY KEYAUTOINCREMENT,
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 constraintfailed: 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;

9.导出数据表

.dump Student

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLEStudent(
ID INTEGER PRIMARY KEYAUTOINCREMENT,
Name TEXT NOT NULL,
Class  TEXT NOT NULL,
Age TEXT DEFAULT '',
Grade INT CHECK(Grade > 0),
UNIQUE(Name, Class));
INSERT INTO Student VALUES(1,'ZHANG SAN','9','16',10);
INSERT INTO Student VALUES(2,'ZHANG SAN','10','16',10);
INSERT INTO Student VALUES(3,'ZHANG SAN','16','',10);
COMMIT;

免责声明:文章转载自《SQLite3 约束和简单命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ORACLE 字符串补零《C#从现象到本质》读书笔记(一)第1章 .NET基础知识下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux Python3 的一些坑

在使用 python3 过度的过程中总是会出现很多问题,这里慢慢收集记录,如有错误欢迎指正。 安装问题 Lunix 系统一般默认都是 python2.7.5 升级到 Python3.x 版本一般都需要通过编译安装。这里主要记录下编译安装需要依赖的包,我们需要先安装。 yum groupinstall 'Development Tools' yum i...

数据库实践

前言:此篇博客在参考Regan_White的文章下完成:https://www.cnblogs.com/ReganWhite/p/10944525.html 一、操作数据库(以SQLite3为例)   SQLite3 可使用 sqlite3 模块与 Python 进行集成。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL...

svn清理失败且乱码 问题解决

由于昨天在网络不好的状态下频繁尝试svn更新,导致今天svn更新时出现:清理失败且乱码的情况如下: 以下是解决方案:1.下载sqlite3.exe ,地址为:http://download.csdn.net/detail/whyzzj/63465292.在D盘建立文件夹 tools ,将.svn下的wc.db 和上述的 sqlite3.exe放到该文件夹...

安装pysqlite2

1. 从https://github.com/msabramo/pysqlite2 下载源码。 2.安装python-dev:sudo apt-get install python-dev否则在 编译或安装过程中,可能会出现 错误:error:Python.h No such file or directory 。注意,不同的Linux发行版的安装命令可...

SVN更新操作提示需要清理操作,清理操作提示乱码,更新SVN失败

1、下载sqlite3.exe,下载方式如下:   1):sqlite网址:https://www.sqlite.org/download.html (根据操作系统自行下载) 2、下载的文件解压后将sqlite3.exe放置你所在svn目录的.svn文件下 (温馨提示:.svn默认为隐藏文件,若找不到该文件,请将查看隐藏文件的开关勾上) 3、使用cmd命...

android adb常用指令

Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器的状态。 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备...