源码下载路径:刘同学数据库
刘同学数据库
创建数据库
使用.open 创建数据库(数据库是唯一的),创建后再次使用.open即为打开数据操作。
示例:
.open test.db
创建表
语法
CREATE TABLE的基本语法:
CREATE TABLE table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
CREATE TABLE是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后面跟着表明。
示例
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
创建一个公司表,设置ID为主键, **NOT NULL 约束 **ID、NAME、AGE不能为空值。
删除表
DROP TABLE 语句用来删除表定义及其相关数据。
表一旦删除,不可恢复
语法
DROP TABLE table_name;
示例
DROP TABLE COMPANY;
测试的话建议最后使用,要不然就删除掉了😊
INSERT
INSERT INTO用于向数据库某个表中添加新的数据行。
语法
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
示例
我们可以一次添加一行,进行多次操作:
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 ),
(5, 'David', 27, 'Texas', 85000.00 ),
(6, 'Kim', 22, 'South-Hall', 45000.00 );
行与行之间使用,和()分隔,结尾使用;
SELECT
SELECT语法用于从表中获取数据。
语法
SELECT column1, column2, columnN FROM table_name;
示例
SELECT * FROM COMPANY;
最后可以得到如下结果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
如果指向获取指定的字符:
SELECT ID, NAME, SALARY FROM COMPANY;
只获取ID、NAME、SALARY字段:
ID NAME SALARY
---------- ---------- ----------
1 Paul 20000.0
2 Allen 15000.0
3 Teddy 20000.0
4 Mark 65000.0
5 David 85000.0
6 Kim 45000.0
设置输出列的宽度
使用**.width x**设置显示的字段宽度
.width 10
再次显示可更改显示的字段宽度
运算符
比较运算符
刘同学数据库支持多个比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真。 | (a == b) 不为真。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (a != b) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (a > b) 不为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (a < b) 为真。 |
>= | 检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 | (a >= b) 不为真。 |
<= | 检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 | (a <= b) 为真。 |
示例
SELECT * FROM COMPANY WHERE SALARY > 50000;
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
逻辑运算符
刘同学数据库支持多个逻辑运算符
运算符 | 描述 |
---|---|
AND | AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。 |
BETWEEN | BETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。 |
OR | OR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。 |
为什么没有示例?因为有段错误了,摆烂了
WHERE
WHERE 子句用于指定从一个表或多个表中获取数据的条件。
语法
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
示例
SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
Update
UPDATE 用于修改表中已有的记录。
语法
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
示例
UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 Texas 45000.0
索引(Index)
索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。一个数据库中的索引与一本书的索引目录是非常相似的。
CREATE INDEX
语法
CREATE INDEX index_name ON table_name;
示例
CREATE INDEX salary_index ON COMPANY (salary);
当你下次再使用SELECT等查找表的时候,会优先查看是否有对应的索引。