SQL常见命令
简介:
轻型,嵌入式,ACID关系型数据库
A原子型 / C一致性 / I隔离性 / D持久性
MySQL启动后会有一个独立的进程,应用与该进程对接;
SQLite是一个API库,数据库引擎库;SQLite运行在自己的应用程序进程中。
SQLite优点:
轻量高效;
绿色无需安装;
零配置;
动态数据类型
SQLite缺点:
并发性能;
数据类型:
NULL: 这个值为空值
VARCHAR(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。
CHAR(n):长度固定为n的字串,n不能超过 254。
INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.
REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.
TEXT: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).
BLOB: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改 变格式。
DATA :包含了 年份、月份、日期。
TIME: 包含了 小时、分钟、秒。
建表:
建表:CREATE TABLE IF NOT EXISTS table_name (col_name_1 datatype, col_name_2, datatype);
CREATE INDEX 语句用于在表中创建索引。您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。
在表上创建一个简单的索引。允许使用重复的值:CREATE INDEX index_name ON table_name (column_name)
在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值:CREATE UNIQUE INDEX index_name ON table_name (column_name)
更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
SQLite数据库中索引的使用、索引的优缺点:https://blog.csdn.net/zbc415766331/article/details/55053224
Sqlite中INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用:https://www.cnblogs.com/peida/archive/2008/11/29/1343832.html
Sqlite中的rowid字段和integer primary key autoincrement的字段区别:https://blog.csdn.net/maxwell_nc/article/details/48766223?utm_source=blogxgwz6
sqllite 自增id和rowid的一个区别:https://blog.csdn.net/qq_16383977/article/details/79630042
深入理解SQLite3之sqlite3_exec及回调函数:https://blog.csdn.net/u012351051/article/details/90382391
插入:
插入语句,在表中创建一条记录:INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 );
更新:
UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;
UPDATE 表名 SET 字段名 = 字段值 WHERE 过滤字段名 = 过滤字段值;
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
查询:
支持升降序,分页
asc //升序
desc //降序
select * from tb_shop id order by id desc limit 0,1;
分页:
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
SELECT * FROM %s %s ORDER BY seq LIMIT %d OFFSET %d
select * from table limit 5; --返回前5行
select * from table limit 0,5; --同上,返回前5行
select * from table limit 5,10; --返回6-15行
//limit skip,count
删表:
drop table table_name
删除:
delete from table_name where xxxx and xxxx;
其他:
打开数据库
sqlite3 xxx.db
sqlite> 下的操作:
.table 查看数据库中存在哪些表;
.tables 数据库内的表格
.schema 查看建表语句
.databases 数据库的路径
..> 下的操作:
进入到这里是SQL数据语言模式了,需要输入完整的SQL语句,即结尾要加 ; (分号)。
SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义。记得是用分号结束语句。
这里比较牛一点的感觉就是创建的数据库后缀名是任意的、不过注意一点就是:在命令框下执行创建数据库的时候。如果没有为数据库创建表格、则看不见数据库文件,所以必须创建表格。
所有的 SQLite 语句可以以任何关键字开始,如 SELECT、INSERT、UPDATE、DELETE、ALTER、DROP 等,所有的语句以分号(;)结束。
NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL;
参考链接:
SQLite常见命令:https://www.cnblogs.com/senior-engineer/p/7028972.html
SQL常见命令的更多相关文章
- SQL常见笔试面试题
sql理论题 1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化.可以 ...
- PL/SQL常见设置--Kevin的专栏
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- mysql 性能优化常见命令
mysql 性能优化常见命令: 一: 当发现mysql程序运行缓慢时,在排除sql主机问题之后,可以尝试在schema,table,和sql上进一步进行考查: 1:mysql> show ful ...
- MySql常见命令、函数
⒈常见命令 命令 说明 show databases; 显示数据库列表 use DataBaseName; 打开指定的数据库 show tables; 显示当前打开数据库的表列表 show table ...
- win+ R下的常见命令
-------------------------电脑运行常见命令----------------------------- Windows+R输入cmd 运行net start mssqlserve ...
- 【Oracle】曾经的Oracle学习笔记(1-3) 数据库常见用语,常见命令,创建测试表
一.数据库的登录 二.数据库常用语 三.测试表的创建,测试数据初始化 四.常见命令介绍 五.测试 user:jeffreysn:jeffrey user:systemsn:jeffrey 浏览器中输入 ...
- 经典MSSQL语句大全和常用SQL语句命令的作用
下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL类型包括数据库.表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML类 ...
- MySQL数据库常见命令
数据库的操作 MySQL服务器的常见命令 开启:sudo service mysql start关闭:sudo service mysql stop重启:sudo service mysql rest ...
- 2 . Linux常见命令
Linux常见命令格式: 命令名称 选项 参数 ls -alh 文件/目录 --all #ls 显示当前目录内容 #ls -l 显示文件详细信息 #ls -hl h已常见单位显示文件大小 k M G# ...
随机推荐
- idea列编辑模式
当我们想要选中一列时,在eclipse中alt+shit+a就可以选中一列了, 在网上很多的idea中列编辑的使用,但是对我的电脑却不管用,也不太清楚在哪里设置 最后无奈乱试一通,结果找到了 alt+ ...
- MySQL命令行分号无法结束问题解决
背景:输入一串查询语句,以分号结束,发现没有结束,再打回车,分号,还是不完.什么exit,quit,bye,都不顶用如果要ctrl+C吧,又得退出mysql,一切重来,很麻烦.后来终于发现,引起这种现 ...
- C++中的union
1:,像任何类一样,union可以指定保护标记使成员成为公用的.私有的或受保护的.默认情况下,union 表现得像 struct:除非另外指定,否则 union 的成员都为 public 成员. 2: ...
- phpexcel使用说明3
下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...
- linux中$@,$*,$0,$$,$?参数的含义
$# 是传给脚本的参数个数 $ 是脚本本身的名字 $ 是传递给该shell脚本的第一个参数 $ 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向 ...
- Uva 568 【大整数】
UVa568 题意:求N!(N<=10000)的最后一位非0数. 10000以内5^5 = 3125最多可以影响后5位.所以直接保存后五位就行. #include<iostream> ...
- Keycode对照表(键码对照表)
https://segmentfault.com/a/1190000005828048 字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S ...
- Android SwipeActionAdapter结合Pinnedheaderlistview实现复杂列表的左右滑动操作
在上一篇博客<Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作>里,已经介绍了利用SwipeActionAdapter来左右滑动操作列表: 然,有时 ...
- Libev源码分析07:Linux下的eventfd简介
#include <sys/eventfd.h> int eventfd(unsigned int initval, int flags); eventfd创建一个eventfd对象,该对 ...
- @loj - 2478@「九省联考 2018」林克卡特树
目录 @description@ @solution@ @part - 1@ @part - 2@ @accepted code@ @details@ @description@ 小 L 最近沉迷于塞 ...