一般数据采用固定的静态数据类型,而 SQLite 采用的是动态数据类型,会根据存入值自动判断。
SOLite 具有以下五种基本数据类型:
- integer:带符号的整型(最多64位)。
- real:8字节表示的浮点类型。
- text:字符类型,支持多种编码(如UTF-8、UTF-16),大小无限制。
- blob:任意类型的数据,大小无限制。 BLOB(binary large object)二进制大对象,使用二进制保存数据
- NULL:表示空值
- 创建、打开数据库:
sqlite3 *.db
提示:
- 当
*.db文件不存在时,sqlite会创建并打开数据库文件- 当
*.db文件存在时,sqlite会打开数据库文件- 退出数据库命令:
.quit或.exit
所有的SQL语句都是以分号结尾的,SQL语句不区分大小写。两个减号“
--”则代表注释。关系数据库的核心操作:
- 创建、修改、理除表
- 添加、修改、删除行
- 查表
语法:
create table 表名称 (列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, ...);
例:创建一表格该表包含3列,列名分别是:“id”、“name”、“addr”。
sqlite> create table persons (id integer, name text, addr text);
在用sqlite设计表时,每个表都可以通过
primary key手动设置主键,每个表只能有一个主键,设置为主键的列数据不可以重复。
语法:
create table 表名称 (列名称1 数据类型 primary key, 列名称2 数据类型, 列名称3 数据券型, ...);
例:创建一表格该表包含3列,列名分别是:“id”、“name”、“addr”,设置“id”为主键
sqlite> create table persons (id integer primary key, name text, addr text);
语法:
.table
查看数据表的结构
.schma[表名]
语法:
alter table 表名 add 列名 数据类型;
sqlite> alter table persons add sex text;
语法:
alter table 表名 renam to 新表名;
sqlite> alter table persons rename to new_persons;
用于删除表(表的结构、属性以及表的索引也会被删除)
语句:
drop table 表的名称;
sqlite> drop table persons;
给一行中的所有列赋值
语法:
insert into 表名 values (列值1, 列值2, 列值3, 列值4, ...);
sqlite> insert into persons values (1, 'lucy', 'beijing');
注:当列值为字符串时要加上 ' ' 号
给一行中的所有列赋值
语法:
insert into 表名 values (列值1, 列值2, ...) values (列值1, 列值2, ...);
sqlite> insert into persons values (1, 'lucy', 'beijing') values (2, 'tom', 'hunan');
注:当列值为字符串时要加上 '' 号