SQLite3 约束和简单命令
安装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 约束和简单命令的更多相关文章
- [转]centos sqlite3安装及简单命令
安装: 方法一: wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz tar xvzf sqlite-autoconf-3070500. ...
- centos sqlite3安装及简单命令
安装:方法一:wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gztar xvzf sqlite-autoconf-3070500.tar ...
- 安卓测试【三】adb简单命令及monkey使用
Ⅰ 配置好android sdk环境变量之后,将android手机连接到电脑上,进行一些adb的简单命令的操作. adb,安卓调试桥,android sdk的一个工具.直接操作管理安卓模拟器或者真 ...
- 基于Python+Sqlite3实现最简单的CRUD
一.基本描述 使用Python,熟悉sqlite3的基本操作(查插删改),以及基本数据类型.事务(ACID). 准备工作:在sqlite3的官网上下载预编译的sqlite文件(windows) ...
- Apache 的搭建及vim的简单命令
一. vim 简单命令 pwd 当前路径 ls 当前路径所有目录 cd 目录地址 跳转到指定目录 /xxx 查找xxx x 删除当前字符 n 执行上一次查找 二.为什么使用apa ...
- 从零单排Linux – 1 – 简单命令
从零单排Linux – 1 – 简单命令 Posted in: Linux 从零单排Linux – 1 一.Linux的简单命令: 1.忘记root密码: 读秒时按任意键进入 – e – ↓选择第二个 ...
- Kafka学习(一)配置及简单命令使用
一. Kafka中的相关概念的介绍 Kafka是一个scala实现的分布式消息中间件,当中涉及到的相关概念例如以下: Kafka中传递的内容称为message(消息),message 是通过topic ...
- Kafka配置及简单命令使用
一. Kafka中的相关概念的介绍 Kafka是一个scala实现的分布式消息中间件,其中涉及到的相关概念如下: Kafka中传递的内容称为message(消息),message 是通过topic(话 ...
- Linux的简单命令
Linux的简单命令 1.更改linux服务器的登录密码 成功登录后输入命令: passwd 然后按照提示操作即可 2.在当前路径下新建文件夹:mkdir 新建文件夹名 3.解压和压缩文件tar.gz ...
随机推荐
- 【数据结构与算法Python版学习笔记】基本数据结构——列表 List,链表实现
无序表链表 定义 一种数据项按照相对位置存放的数据集 抽象数据类型无序列表 UnorderedList 方法 list() 创建一个新的空列表.它不需要参数,而返回一个空列表. add(item) 将 ...
- flink中使用lambda表达式
flink中使用lambda表达式 1.使用lambda的一个示例 2.使用上面这种写法通常或得到如下错误 3.解决方案 4.建议 5.完整代码 在 java8中有一种新的语法糖,即 lambda表达 ...
- 攻防世界 web5.disabled_button
我觉得戴上手套按应该可以! 方法一: 打开网址,发现flag按钮无法点击,F12查看源代码,删除disabled=" ",flag就点击了. 方法二 POST请求, 先分析一下源代 ...
- 面试官问:说说你对Java函数式编程的理解
常见的面试问题 总结一下,在Java程序员的面试中,经常会被问到类似这样的问题: Java中的函数式接口是什么意思? 注解 @FunctionalInterface 的作用是什么? 实现一个函数式接口 ...
- 算法:汉诺塔问题(Tower of Brahma puzzle)
一.算法背景 最早发明这个问题的人是法国数学家爱德华·卢卡斯.传说越南河内某间寺院有三根银棒(A, B, C),上串 64 个金盘. 寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子:预言说当这 ...
- Github点赞超多的Spring Boot学习教程+实战项目推荐!
Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐! 很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这 ...
- Win10自动备份oracle数据库
1.环境 操作系统:win10 数据库: 2.创建backup.bat文件 [ @echo offset name=%date:~0,4%%date:~5,2%%date:~8,2%set backu ...
- 深入探索 Linux listen() 函数 backlog 的含义
1:listen()回顾以及问题引入 2:正确的解释 3:实验验证 1:listen()回顾以及问题引入 listen()函数是网络编程中用来使服务器端开始监听端口的系统调用,首先来回顾下listen ...
- fork()和vfork()的区别,signal函数用法,exec()系列函数的用法小结
一:fork()和vfork()的区别: fork()函数可以创建子进程,有两个返回值,即调用一次返回两个值,一个是父进程调用fork()后的返回值,该返回值是刚刚创建的子进程的ID;另一个是子 ...
- Linux&C网络编程————“聊天室”
从上周到现在一直在完成最后的项目,自己的聊天室,所以博客就没怎么跟了,今天晚上自己的聊天室基本实现,让学长检查了,也有好些bug,自己还算满意,主要实现的功能有: 登录注册 附近的人(服务器端全部在线 ...