安装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;

9.导出数据表

.dump Student

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE 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));
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 约束和简单命令的更多相关文章

  1. [转]centos sqlite3安装及简单命令

    安装: 方法一: wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz tar xvzf sqlite-autoconf-3070500. ...

  2. centos sqlite3安装及简单命令

    安装:方法一:wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gztar xvzf sqlite-autoconf-3070500.tar ...

  3. 安卓测试【三】adb简单命令及monkey使用

    Ⅰ 配置好android sdk环境变量之后,将android手机连接到电脑上,进行一些adb的简单命令的操作. adb,安卓调试桥,android   sdk的一个工具.直接操作管理安卓模拟器或者真 ...

  4. 基于Python+Sqlite3实现最简单的CRUD

    一.基本描述 使用Python,熟悉sqlite3的基本操作(查插删改),以及基本数据类型.事务(ACID).     准备工作:在sqlite3的官网上下载预编译的sqlite文件(windows) ...

  5. Apache 的搭建及vim的简单命令

    一. vim 简单命令 pwd     当前路径 ls    当前路径所有目录 cd  目录地址   跳转到指定目录 /xxx  查找xxx x 删除当前字符 n 执行上一次查找 二.为什么使用apa ...

  6. 从零单排Linux – 1 – 简单命令

    从零单排Linux – 1 – 简单命令 Posted in: Linux 从零单排Linux – 1 一.Linux的简单命令: 1.忘记root密码: 读秒时按任意键进入 – e – ↓选择第二个 ...

  7. Kafka学习(一)配置及简单命令使用

    一. Kafka中的相关概念的介绍 Kafka是一个scala实现的分布式消息中间件,当中涉及到的相关概念例如以下: Kafka中传递的内容称为message(消息),message 是通过topic ...

  8. Kafka配置及简单命令使用

    一. Kafka中的相关概念的介绍 Kafka是一个scala实现的分布式消息中间件,其中涉及到的相关概念如下: Kafka中传递的内容称为message(消息),message 是通过topic(话 ...

  9. Linux的简单命令

    Linux的简单命令 1.更改linux服务器的登录密码 成功登录后输入命令: passwd 然后按照提示操作即可 2.在当前路径下新建文件夹:mkdir 新建文件夹名 3.解压和压缩文件tar.gz ...

随机推荐

  1. Java字符串转数字和数字转字符串

    int转String有3种方式 (1)num + "" (2)String.valueOf(num) (3)Integer.toString(num) String转int有2种方 ...

  2. 如何使用远程工具连接Linux服务器

    大家好,今天我想和大家分享一下Linux如何连接远程控制工具我们都知道,Linux是著名的开源服务器操作系统,而在运维工程师的实际工作当中,我们不大可能时时刻刻都在服务器本地操作.因此这时,我们要用远 ...

  3. mybatis学习笔记(1)基本环境

    1.pom引入 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artif ...

  4. 从零开始的Spring Session(一)

    Session和Cookie这两个概念,在学习java web开发之初,大多数人就已经接触过了.最近在研究跨域单点登录的实现时,发现对于Session和Cookie的了解,并不是很深入,所以打算写两篇 ...

  5. Noip模拟61 2021.9.25

    T1 交通 考场上想了一个$NPC$.应该吧,是要求出图里面的所有可行的不重复欧拉路 无数种做法都无法解出,时间也都耗在这个上面的,于是就考的挺惨的 以后要是觉得当前思路不可做,就试着换一换思路,千万 ...

  6. Tenable Nessus 10.0.0 (Unix, Linux) -- #1 漏洞评估解决方案

    请访问原文链接:https://sysin.org/blog/nessus-10/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin.org 了解 ...

  7. docker 启动tomcat后,外部访问报HTTP Status 404 – 未找到报错解决

    1.检查防火墙,防火墙是关闭的状态 2.检查docker中的tomcat 2.1  使用命令:docker container ps ,查看tomcat运行id 2.2 进入docker的tomcat ...

  8. 变量命名网站 Codelf

    程序员最头疼的事情除了头发以外就是给变量或函数命名,一开始学编程语言的时候还可以 abc.a1.x2 等方式命名,等到工作过程中开始真正的项目开发时,如果还是这样随意的命名,即使同事可以忍受你的 ab ...

  9. xxx.app已损坏无法打开、来自身份不明的开发者解决办法

    在 Mac 上安装非 App Store 软件时,可能会遇到一些这样或那样的问题,这篇文章就 Mac 从 .dmg 安装软件时可能遇到的问题提一些解决方法. 状况一:双击 .dmg 安装软件出现以下情 ...

  10. 组件通过props属性传值

    组件之间的传值 组件是一个单独功能模块的封装,有属于自己的data和methods,一个组件的 data 选项必须是一个函数 为什么必须是函数:因为只有当data是函数时,不同实例调用同一个组件时才会 ...