惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
Lohrmann on Cybersecurity
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
P
Proofpoint News Feed
量子位
S
Schneier on Security
AWS News Blog
AWS News Blog
N
Netflix TechBlog - Medium
T
Threat Research - Cisco Blogs
T
Threatpost
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
S
Securelist
T
Tailwind CSS Blog
T
Tor Project blog
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cisco Blogs
D
DataBreaches.Net
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tenable Blog
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
V
Visual Studio Blog
博客园 - 叶小钗
F
Full Disclosure
Know Your Adversary
Know Your Adversary
N
News and Events Feed by Topic
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
The Last Watchdog
The Last Watchdog
H
Hacker News: Front Page
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Spread Privacy
Spread Privacy
T
The Blog of Author Tim Ferriss
S
Security @ Cisco Blogs
Attack and Defense Labs
Attack and Defense Labs
MyScale Blog
MyScale Blog
腾讯CDC
Recent Announcements
Recent Announcements
Stack Overflow Blog
Stack Overflow Blog

博客园 - 系咪噶

[JAVA基础]流文件读写文件编码转换 最近转战东软 apache 新建虚拟机 +Zend Framework建立 Apache + php 配置 php基础教程之PHP面向对象技术(全面讲解) 今日无事,将一同志之毕设完结 SQL查询基本练习1:(作业) SQL Server 高级应用(周六讲座) 面向对象之CoreJava(第一课) CVS的使用(一课时) PL/SQL第三课(学习笔记) PL/SQL第二课(作业) PL/SQL第二课(学习笔记) PL/SQL第一课(学习笔记) Oracle第四课(学习笔记) 全步骤安装mysql SQL Server 存储过程的分页 无法连接到Visual Studio 的Localhost Web服务器 Oracle第三课(学习中笔记)
Oracle第五课(学习笔记)
系咪噶 · 2008-08-11 · via 博客园 - 系咪噶

连接查询

JUL12_CLASS     JUL12_STUDENT

SELECT CNAME,SNMAE
FROM JUL12_CLASS C,JUL12_STUDENT S
WHERE C.CID = S.CID;

SELECT CNAME,SNAME
FROM JUL12_CLASS C
JOIN JUL12_STUDENT S ON C.CID= S.CID;
用JOIN 和 ON 连接
左外连接
SELECT CNAME,SNAME
FROM JUL12_CLASS C
LEFT JOIN JUL12_STUDENT S ON C.CID = S.CID;
右外连接
SELECT CNAME,SNAME
FROM JUL12_STUDENT S
RIGHT JOIN JUL12_CLASS C ON C.CID = S.CID;
**************************************************

CREATE TABLE JUL12_S_EMP
AS
SELECT * FROM S_EMP;

SELECT ID ,USERID ,DEPT_ID ,SALARY FROM JUL12_S_EMP;
--找出大于所在部门平均工资的于员工
SELECT ID ,USERID ,DEPT_ID ,SALARY
FROM JUL12_S_EMP A,
(
SELECT DEPT_ID D,AVG(SALARY) S FROM JUL12_S_EMP
GROUP BY DEPT_ID
) D
WHERE A.DEPT_ID = D.D AND A.SALARY > D.S
ORDER BY A.ID ;

SELECT ID ,USERID ,SALARY
FROM JUL12_S_EMP A
WHERE SALARY >
(
    SELECT AVG(SALARY)
    FROM JUL12_S_EMP B
    WHERE A.DEPT_ID = B.DEPT_ID
)
ORDER BY A.ID ;

SELECT ID ,SALARY FROM JUL12_S_EMP A,
(SELECT DEPT_ID, AVG(SALARY) AVGS
FROM JUL12_S_EMP GROUP BY DEPT_ID
==================================================
登录mysql,,,,
转到bin目录下面执行mysql -u root -p password;
没有密码的就这么写:mysql -u root ;

show database;
CREATE DATABASE MYDB;
mysql> use mydb;
mysql> create table student(
    id int (4),
    name char(10),
    age int (4),
    address varchar(20)
    );
mysql> insert into STUDENT values
(1001,'zhang',23,'jiangsu);
mysql> insert into STUDENT values
(1002,'xiexie',23,'zhejiang');
mysql> insert into STUDENT values
(1003,'aaaa',33,'asdfds');
mysql> insert into STUDENT values
(1004,'sdsd',44,'sdfsdeee');
mysql> insert into STUDENT values
(1005,'sss',32,'wwwssssss');
mysql> insert into STUDENT values
(1006,'zhao',33,'zhonglu');
mysql> insert into STUDENT values
(1007,'xie',33,'kehong');
mysql> insert into STUDENT values
(1008,'good',23,'keqi');
//发现表名 要区分大小写
select * from STUDENT  limit 3 --前三行数据
select * from STUDENT limit 2 OFFSET 3--第四行还是两行数据
SELECT first_name || ' ' || last_name FROM s_emp  
where id in (select manager_id from s_emp group by manager_id having count(*) >1);

union联合查询.前后查询内容相加
若有重复则只显示一次,,,若要全部显示则可以使用union all
select 8 from jul12_student where age >12;
union
select * from jul12_student where age <12 and age >10;

intersect此方式为交集 ,即为两个查询的相同的部分进行显示出来
select * from jul12_student where age >12
intersect
select * from jul12_student where age>12 and age <32;

minus此方式也可以当作分页,但是效率最低
此例子的目的在于极少minus的用法,就是用第一个查询出的结果,减去第二个查询出来的结果.如下显示的就是第三个第四条记录.
select * from jul12_student where rownum <=5
minus
select * from jul12_student where rownum <=3;

************************Objectives*************
Add and modify columns;添加和修改列
删除表 drop table [tablename]
DDL 数据定义语言,不可ROOLBACK

----ADD COLUMN
ALTER TABLE JUL12_STUDENT
ADD ABC CHAR(10);
----DELETE COLUMN
ALTER TABLE JUL12_STUDENT
DROP COLUMN ABC;
----MODIFY
ALTER TABLE JUL12_STUDENT MODIFY AGE VARCHAR(10);

对表的约束的修改
alter table jul12_student
add not null (name)

外键的约束
sql> alter table s_emp
add constraint s_emp_manager_id_fk
foreign key (manager_id)
references s_emp(id);
关闭约束
sql> alter table
disable constraint
开启约束
sql>alter table
enable constraint
更改表名
rename tablename to newtablename
删除表内全部记录
sql>truncate table s_item;
于delete的区别就是不可以ROOLBACK
事务完成后输入
commit;执行

总结Oracle数据库

oracle:
    openlabe open123

window:

1.启动和关闭oracle相关的服务;
    1:oracle startup shutdown
    启动和关闭 listener
    1:isnrctl
2.
openlabe /open 123
            
$sqlplus/nolog
$connect/as sysdba;
-=-=-=-=-=-=-=-=-=-=-=-=
oracle中创建用户
create user abc(用户名) identified by efg(新密码);
例:
create user tarena01 identified by tarena01
给用户授权
grant connect ,resource to tarena01两个权限
收回权限
revoke connect from tarena01(管理员权限登录)
删除一个用户
drop user abc
-=-=-=-=-=-=-=-=-=-=-=-=
mysql 2:操作用户

mysql> show databases;(注意databases我为复数)

杀看用户(user表中存放了用户信息)
mysql> use mysql;
mysql> select user from user;
mysql> select password from user where user ='root';

mysql 2:
    grant all on mydb.* to 'aa' identified by 'bb';
给用户授权
    grant all on mydb.* to 'aaa' identified by 'bbb';
    修改密码的条件
    1.进入mysql    
    mysql> use mysql    进入数据库
    mysql> select user,password from user; 查看表内数据
    mysql> update user set password =password('ef')wehre user = 'aa'; 利用update更新数据 更新password
    mysql> select user,password from user;

    alter user 'aa' identified by open234;
    
    flush privileges提交
    
    mysql> GRANT USAGE ON *.* TO aa IDENTIFIED BY 'lrock'
二 :sql
1.create table person(
    a int(3) primary key,
    b varchar(10),
    c datetime
);
insert into person values (1,'aa',now());
insert into person values (2,'bb',now());
insert into person values (3,'cc',now());
insert into person values (4,'dd',now());

2:
    select insert delete update;
性能分析的依据

oracle: set autotrace on
    set timing on
mysql: explain p312 16.3
多表查询:
推荐是哟你连接查询

in(exists)
1:
rownum  limit offset
2:
求每个年龄段的人数 group by age/10
3:
删除表里重复的记录
rowid具有唯一性质,标识硬盘数据存储的位置 min max ...
4:
取出表中随机的三条记录
dbms_random.random
5:
取出工资大于本部门平均工资的人.