sqlit原生语句笔记(实时补充)

本篇文章仅供本人学习总结使用

数据库基本知识:(待补充)

  1. 大小写敏感

  2. 不支持修改已经存在的列的属性(包括删除列),如果需要修改可以使用重新创建表的方式来完成。

  3. 不支持if,可用CASE代替。

  4. 数据类型,sqlite会根据类型亲缘性匹配其他数据库的其他类型。

    • NULL
    • INTEGER –整型
    • TEXT –文本
    • REAL –浮点数
    • BLOB –大二进制对象
  5. 比较表达式:
    “=”, “==”, “<”, “<=”, “>”, “>=”, “!=”, “<>”, “IN”, “NOT IN”, “BETWEEN”, “IS” and “IS NOT”。

  6. sqlite原生函数(待补充)

  7. sqlite优化库操作或查询非表数据 PRAGMA command(待补充)

  8. 与MySql不同点(待补充):

表user_tab
|用户id|用户名| 用户年龄||用户标识|

uidunameuageuflag
1Lihua181
2Xiaoming230
DDL:

CREATE

创建表:

CREATE TABLE IF NOT EXISTS user_tab
(uid INTEGER AUTOINCREMENT  UNIQUE NOT NULL ,
uname TEXT,
uage INTEGER,
uflag INTEGER,
PRIMARY KEY(uid),
FOREIGN KEY(uname) REFERENCES user_tab(uid));
);
创建一个表结构与table2一模一样的表,复制结构同时也复制数据;
create  table tab1(col_a,col_b) as select  col1,col2  from tab2; 
CREATE  table user_tab1  AS  select *   from user_tab2;//若只复制结构则加where 1 = 2

待补充

DROP

删除表:

DROP TABLE IF EXISTS user_tab;

ALTER

修改表:

ALTER TABLE user_tab ADD COLUMN ucity text;
ALTER TABLE user_tab RENAME TO admin_tab;

DML:

INSERT:

INSERT INTO user_tab(col1,col2.col3) VALUES(var1,var2,var3);
insert or replace into  tab1(col1,col2) select  col1,col2  from  tab2;

UPDATE:

UPDATE user_tab SET col1 = var1;
UPDATE user_tab SET col1 = (SELECT other_tab_col1 FROM other_tab where user_tab.uid = other_tab.id);
UPDATE user_tab SET col1 = (SELECT replace(col1,"1234","1289") FROM user_tab);--更改字符串
UPDATE user_tab SET col1 = replace(col1,"1234","1289");--更改字符串
UPDATE user_tab SET col1 = 
CASE WHEN col2 = 1 THEN "u8"||"字节"
WHEN col2 = 2 THEN "u16"||"字节"
WHEN col2 = 4 THEN "u32"||"字节"
ELSE NULL END;

SELECT:

SELECT * FROM user_tab;
SELECT DISTINCT uname FROM user_tab;

CASE条件语句

SELECT CASE WHEN uid = 1 THEN "LiSi"
	WHEN uid = 3 THEN "WangWu"
	ELSE NULL
	END AS u_name

LIKE模糊查询语句

  SELECT * FROM user_tab WHERE col LIKE like语句
 (1%:表示任意0个或多个字符
 (2)_ :表示任意单个字符,匹配单个任意字符,常用来限制表达式的字符长度语句。
 (3[ ]:表示括号内所列字符中的一个(类似正则表达式)
       select * from user_tab where uname like ‘[张李王]三’;
       表示搜索的是“张三”,“李三”或“王三”
 (4):[^]表示不在括号所列之类的单个字符。
 (5):查询内容包含通配符时,用“[ ]”括起来。

LIMIT分页语句

 select * from account limit 5 offset 3; --从第3个起查询5个数据同下
 select * from account limit 3,5;

嵌套语句

select * from user_tab where uage < (select avg(uage) from user_tab);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值