第1.1关:创建数据库
-
启动数据库服务器:sys_ctl start -l logfile
-
通过ksql访问数据库:ksql -USYSTEM TEST
-
创建数据库: CREATE DATABASE TESTDB;
-
常见命令:
* \l : 查看数据库列表 * \d: 查看当前数据库中的数据库列表 * \c database_name : 更换连接到database_name数据库
第1.2关:创建数据表
1.创建一个数据表的语句格式:
CREATE TABLE 表名
(
字段名 数据类型,
......
字段名 数据类型
);
第2.1关:创建带约束的数据表
常见的数据表约束如下:
`NOT NULL` 约束:确保某列不能有 NULL 值。
`DEFAULT` 约束:当某列没有指定值时,为该列提供默认值。
`UNIQUE` 约束:确保某列中的所有值是不同的。唯一键
`PRIMARY Key` 约束:唯一标识数据库表中的各行/记录。
`CHECK` 约束:CHECK 约束确保某列中的所有值满足一定条件。
第2.2关:在创建表之后添加约束
alter table 表名
add 约束名 约束字段
第2.3关:外键约束的创建和添加
创建
create table 表名(
字段 类型,
...
字段 类型,
[constraint 约束名] foreign key(字段) references 参考表(字段)
);
添加
alter table 表名
add [constraint 约束名] foreign key(字段) references 参考表名(字段);
第2.4关:修改字段约束
修改非空约束格式
ALTER TABLE <数据表名>
ALTER
COLUMN <字段名> SET NOT NULL;
修改DEFAULT约束
ALTER TABLE <数据表名>
ALTER
COLUMN <字段名> SET DEFAULT <默认值>;
第2.5关:删除约束
语法格式
ALTER TABLE <表名> DROP CONSTRAINT <唯一约束名>;
查询表中约束的方法(查询语句)
SELECT * FROM all_constraints
WHERE TABLE_NAME='TEACHER';
第2.6关:添加字段
语法格式
ALTER TABLE <表名> ADD 新列名 <数据类型>[约束条件];
<表名> 为数据表的名字;
<数据类型> 为所要添加的字段能存储数据的数据类型;
[约束条件] 是可选的,用来对添加的字段进行约束
第2.7关:修改字段
修改字段名
ALTER TABLE <表名> RENAME COLUMN <字段名旧> TO <字段名新>;
修改字段类型
ALTER TABLE <表名> ALTER COLUMN <字段名> TYPE <类型>;
限制
不能将含有空值的列定义修改为NOT NULL约束。
若列中已经存在数据,则不能减少该列的宽度,也不能改变其数据类型。
只能修改NULL/NOT NULL约束,其他类型的约束在修改之前必须先将约束删除,然后重新添加修改过的约束定义。
第2.8关:删除字段
ALTER TABLE <表名> DROP COLUMN <字段名>
第3.1关:添加单条记录
通过导入sql文件的方式加载数据库
\i sql文件路径
\i /data/workspace/myshixun/step1/Initializing.sql
INSERT INTO语句(用于向表中插入新记录)
1.INSERT INTO <表名称>
2.VALUES (值1,值2,值3,...);
注意此时在每个属性列上均要有值
1.INSERT INTO <表名称>(列名1,列名2,列名3,...)
2.VALUES (值1,值2,值3,...);
添加部分数据时使用
第3.2关:添加部分数据
如上节
第3.3关:添加多条记录
第一种无需指定插入数据的列名,只需要提供插入的值即可
1.INSERT INTO <表名> VALUES
2.(值1, 值2, …),
3.(值1, 值2, …),
4.……
5.(值1, 值2, …);
第二种形式需要指定列名及被插入的值:
1.INSERT INTO <表名> ([列名],[列名],…) VALUES
2.(值1, 值2, …),
3.(值1, 值2, …),
4.……
5.(值1, 值2, …);