贡献作者 -【XJDomain】
博客XJ: https://my.oschina.net/shengbingli/blog
GitHub直播地址: https://github.com/lishengbing/XJDomainLive
1: DDL语句:数据定义语句
1: 使用SQL语句,就像在终端上使用命令是一样的,我们需要在navicat -> Queries中进行测试使用
例如:
-- // 创建表
-- CREATE TABLE IF NOT EXISTS t_student(name text, age interger, score real)
-- // 删除表
-- DROP TABLE IF EXISTS t_student
-- // 修改表名
-- ALTER TABLE t_newStudent RENAME TO t_student
-- // 新增属性
-- ALTER TABLE t_student ADD COLUMN address01 text
-- DROP TABLE IF EXISTS t_stu
CREATE TABLE t_stu(id integer PRIMARY KEY AUTOINCREMENT, name text not null, age integer, score real DEFAULT 60)
2:创建表 (语句):
2:创建表(语句) CREATE TABLE IF NOT EXISTS t_stu(id integer PRIMARY KEY AUTOINCREMENT, name text not null, age integer, score real DEFAULT 60)
3:删除表(语句):
-- // 删除表 -- DROP TABLE IF EXISTS t_student
4:修改表(语句:
01:修改表名:
-- // 修改表名 -- ALTER TABLE t_newStudent RENAME TO t_student
02:新增属性:
-- // 新增属性 -- ALTER TABLE t_student ADD COLUMN address01 text
03:注意⚠️:sqlite里面只能实现Alter Table的部分功能 (不能删除一列,不能修改一个已经存在的字段名(列名))
5:约束?
(可以通过语句约束,也可以使用图像化界面直接手动创建表结构的时候进行约束)
1: 简单约束 01:不能为空 (not null:规定字段的值不能为null) 02:不能重复 (unique: 规定字段的值必须唯一) 03:默认值 (default:规定字段的默认值) 例子:name字段不能为null,并且唯一 age字段不能为null,并且默认值为1 create table t_stu(id integer primary key autoincrement, name text not null unique, age integer not null default 1);
2:主键约束 1:主键就是用来唯一标识某一条记录 2:每一张表必须都有一个主键 3:主键可以是一个字段,也可以是多个字段 2.1主键的声明 1:只有声明了primary key就说明是一个主键字段 2:主键字段默认就包含了not null 和 unique两个约束 3:如果想要让主键自动增长,就必须是integer类型,应该增加autoincrement