兄弟连数据库第4天课程笔记
1.DDL(data define language 数据定义语句) 9.9999
1.1 create table 创建表
create table 表名(
字段名 类型,
字段名 类型,
字段名 类型
);
类型:
number 数字类型 (其它数据有自己的类型写法)
varchar(n) 字符串类型 变长字符串
char(n) 定长字符串
date 日期类型
练习:
建立一张订单表 myorder100 字段如下
id number oid char(30)
oname varchar(30) odate date
omoney number
create table myorder100(
id number,
oid char(30),
oname varchar(30),
odate date,
omoney number
);
1.2 删除表
drop table 表名;
drop table myorder100;
create table myorder100(
id number,
oid char(30),
oname varchar(30),
odate date,
omoney number
);
兄弟连数据库第3天课程笔记
1.内连接: 符合连接条件的数据 被选中 不符合连接条件的数据被过滤掉。
等值连接
非等值连接
自连接
2.外连接
2.1 特点
外连接的结果集 等于 内连接的结果集 加上 匹配不上的数据。
(一个也不能少)
2.2 如何实现?
(+) (+)字段所在的表的 对面 表的数据全部被选中
原来内连接中 被过滤的数据 是通过 NULL 记录进行的匹配
select distinct m.id,m.first_name
from s_emp e,s_emp m
where e.manager_id(+)= m.id and e.manager_id is null;
兄弟连数据库第2天课程笔记
1.where 子句 10
1.1 常见的比较运算符
= != > = <=
1.2 sql 中的4个运算符
1.2.1 where 字段 in(值1,值2,值3)
只要这个字段的值 出现在后面的列表中就选中
查询s_emp 表中 dept_id 在 31 或者 在 32 或者 在50 部门的员工 显示 first_name
dept_id
select first_name,dept_id from s_emp where dept_id in (31,32,50);
1.2.2 where 字段 between a and b
表达这个字段的值 在 [a,b] 之中
查询 s_emp 表中 salary 在 1300 到 1500 之间 的员工 包括1300 和 1500
显示 id first_name salary
select id,first_name,salary from s_emp where salary between 1300 and 1500;
1.2.3 NULL 值判断运算符 where 字段 is null
其它的运算符 对NULL 值判断无效
select id,first_name from s_emp where manager_id = 1;
select id,first_name from s_emp where manager_id != 1;
select id,first_name from s_emp where manager_id is null;
1.2.4 模糊查询 where 字段 like '模糊查询统配串';
找出所有的姓李的人 李元霸 李元吉 李靖 李双江
找出所有的带 龙的昵称 史泰龙 成龙 小龙虾 小龙女
模糊查询统配串 中有两个通配符
_ 代表一个任意字符
% 代表 0-n个任意字符
查询 s_emp 表中 所有带 a 的 first_name
select first_name from s_emp where first_name like '%a%';
在上面查询的基础上 找出 倒数第二个字符是 a 的
select first_name from s_emp where first_name like '%a_';
介绍一张表 叫 user_tables 这张表中记录了所有表的信息 S_EMP S_DEPT 都在这张表中
找出所有的 以 S_ 开头的表名
_ 既要表达 下滑线 又要表达一个任意字符 需要转义成 _ 的含义
select table_name from user_tables where table_name like 'S\_%' escape '\';
兄弟连数据库第一天课程笔记
数据库
1.数据的存储 3
内存 贵 小 容易丢失
FILE 大 便宜 不容丢失
慢 维护不方便 数据损坏 线程
DBMS(database manager system) ----- DB(database)
2.主流的数据库管理系统 4
Oracle 甲骨文 oracle9i oracle10g oracle11g
db2 IBM db2
sqlserver 微软 sqlserver2003
开源的 mysql sun --- 甲骨文
3.RDBMS 3
关系型数据库 管理系统
基于二维表的数据库
由行 和 列组成的 表格 叫二维表
表头 table header
行 row
列 column
字段名 field
字段值 field value
表 table