数据库的介绍(sqlite)
sqlite是一个小型的嵌入式数据库,属于关系型的数据库。
数据库
关系型数据库
是由多个数据库表(二维表)组成.
E-R模型
建立二维表,范式, ...
**数据库表**
二维表(多行多列组成)
行: 一个实体, 记录(record)
列: 字段(field), 由具有相同数据类型或属性组成, 一个实体由多个属性(列)组成.
**主键(key):**
一个数据库表可能有多个记录(行,也就是多个实体), 实体是唯一的(不可能有两行是同样的一个实体)。
数据库表为了显示实体的唯一性,在一个表中必须指定一个主键, 用来唯一标识该实体(一条记录的)。
主键是一个或多个字段组成。主键必须具有唯一性。
外键(foreign key):
E-R 实体与实体间的关系,怎么表示?
相同属性的实体组成一个数据库表,
不同的实体位于不同的数据库表中,不同的实体的关系是通过把另外一个实体的主键嵌入到该实体的记录中来实现的。
数据库系统
ORACLE ->
SQL SERVER ->
MYSQL
SQLITE3: 一个开源的关系型数据库,轻量级的,非常适合在嵌入式等资源有限的系统中使用
DB2
达梦
.....
SQL语句: (具体语法与例子可参考:http://www.w3school.com.cn/)
您需要在数据库上执行的大部分工作都由SQL语句来完成
SQL是大多数数据库的编程语言。
SQL语句:
DDL :数据定义语言 Data Definition Language
创建或删除表格
DDL语句:
CREATE DATABASE 创建数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建一个表
语法:
CREATE TABLE 表名
(
列名1 数据类型 [限制],
列名2 数据类型 [限制],
...
);
数据类型
integer(size)
int(size)
char(size) 字符串(长度), 固定长度
varchar(size) 可变长度字符串(最大长度)
decimal(size, d) "size"规定数字的最大位数,"d"规定小数点右侧的最大位数
numeric(size, d) "size"规定数字的最大位数,"d"规定小数点右侧的最大位数
date(yyyymmdd) 日期
...
限制:
NOT NULL, 不为空
UNIQUE , 唯一
PRIMARY KEY, 主键( 隐含NOT NULL, UNIQUE )
DEFAULT 默认
例子:
CREATE TABLLE db_score
(
ID int(4) PRIMARY KEY,
NAME varchar(32) NOT NULL,
SCORE int(4)
);
(?) ALTER TABLE 变更(改变)一个表, 用于在已有的表中添加、修改或删除列
SQLite supports a limited subset of ALTER TABLE.
The ALTER TABLE command in SQLite allows the user
to rename a table or to add a new column to an existing table.
(1) ALTER TABLE 表名
ADD 列名 数据类型
(2) ALTER TABLE 表名
DROP COLUMN 列名
(3) ALTER TABLE 表名
ALTER COLUMN 列名 数据类型
DROP TABLE 删除表
CREATE INDEX 创建索引
DROP INDEX 删除索引
DML :数据操纵语言 Data Manipulate Language
如在数据库表中,“增” “删” “改” “查”
DML语句:
SELECT 从数据库表中查询数据
SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)
语法:
SELECT 列名1, 列名, ……, 列名n FROM 表名 [ WHERE 列名 运算符 值 AND/OR 列名 运算符 值]
“运算符”:
= 等于
<> 不等于
> 大于
< 小于
BETWEEN 在某个范围内 ,如: 列名 BETWEEN value1 AND value2
LIKE 搜索某种模式
SQL语句字符串用音引号
SQL通配符:
% 替代一个或多个字符
_ 仅替一个字符
UPDATE 更新数据库表中的数据
语法:
UPDATE 表名 SET 列名1 = 新值,列名2 = 新值, ……, 列名n = 新值 WHERE 列名 运算符 值 ;
DELETE 从数据库表中删除数据(一条或多条记录)
语法:
DELETE FROM 表名 WHERE 列名 运算符 值
DELETE FROM 表名 ; 删除表中所有行
DELETE * FROM 表名
INSERT INTO 向数据库表中插入数据(一个或多条记录)
语法:
INSERT INTO 表名 VALUES(value1, value2, ...) ;
or
INSERT INTO 表名(列名1,列名2, ……) VALUES(value1, value2, ..) ;