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

posted @ 2019-10-13 16:23  Grooovvve  阅读(118)  评论(0编辑  收藏  举报