orm数据库用的多了,重新学习sql语句。
在win环境下直接下载(SQLite Expert Professional 3)来进行sql语句学习。
- 准备测试环境
(创建数据库-->创建表-->插入测试数据)
创建数据库
点击File-->new Database 就会出现
创建表
点开界面的SQL界面,输入创表语句
CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);
插入测试语句
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (5, 'David', 27, 'Texas', 85000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
-
查询所有信息
select * from company
-
运算符
跟c/c++、java的运算符一样
- 比较符
跟c/c++、java的运算符一样(除了<>、!<、!>
)
- where 查询
SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。
如果满足给定的条件,即为真(true)时,则从表中返回特定的值。您可以使用 WHERE 子句来过滤记录,只获取需要的记录。
select * from company where id = 1
select * from company where age in (25,27)
where后面可以跟条件判断以及各类显示关键字
in(x,y....)
在括号里面出现过not in(x,y....)
没在括号里面出现过and/or
连接两个判断like '_a%'
模糊查询大小写不敏感 通配符: 百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。glob '?a*'
模糊查询大小写敏感 通配符:星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。- limit
SQLite 的 LIMIT 子句用于限制由 SELECT 语句返回的数据数量。
- order by
SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。
desc:降序 asc:升序
select * from company order by age desc,name desc