YashanDB练习SQL

  1. 查询当前实例的信息:
sql 复制代码
SELECT * FROM v$instance;
  1. 查询数据库的信息:
sql 复制代码
SELECT * FROM v$database;
  1. 查询数据库名称:
sql 复制代码
SELECT database_name FROM v$database;
  1. 创建用户sales并授予DBA角色:
sql 复制代码
CREATE USER sales IDENTIFIED BY "Sxc1%sd27";
GRANT DBA TO sales;
  1. 创建表area,并插入数据:
sql 复制代码
CREATE TABLE area (
  area_no CHAR(2) NOT NULL PRIMARY KEY,
  area_name VARCHAR2(60),
  DHQ VARCHAR2(20) DEFAULT 'ShenZhen' NOT NULL
);

INSERT INTO area VALUES ('01', '华东', 'Shanghai');
INSERT INTO area VALUES ('02', '华西', 'Chengdu');
INSERT INTO area VALUES ('03', '华南', 'Guangzhou');
INSERT INTO area VALUES ('04', '华北', 'Beijing');
INSERT INTO area VALUES ('05', '华中', 'Wuhan');
COMMIT;
  1. 查询area表的数据:
sql 复制代码
SELECT area_name FROM area;
SELECT area_no, area_name FROM area;
SELECT * FROM area;
SELECT * FROM area WHERE area_name = '华东';
SELECT * FROM area ORDER BY dhq;
SELECT * FROM area ORDER BY dhq DESC;
  1. 创建表branches,并插入数据:
sql 复制代码
CREATE TABLE branches (
  branch_no CHAR(4) PRIMARY KEY,
  branch_name VARCHAR2(200) NOT NULL,
  area_no CHAR(2),
  address VARCHAR2(200)
);

INSERT INTO branches VALUES ('0001', '深圳', '', '');
INSERT INTO branches VALUES ('0101', '上海', '01', '上海市静安区');
INSERT INTO branches VALUES ('0102', '南京', '01', 'City of Nanjing');
INSERT INTO branches VALUES ('0103', '福州', '01', '');
INSERT INTO branches VALUES ('0104', '厦门', '01', 'Xiamen');
INSERT INTO branches VALUES ('0401', '北京', '04', '');
INSERT INTO branches VALUES ('0402', '天津', '04', '');
INSERT INTO branches VALUES ('0403', '大连', '04', '大连市');
INSERT INTO branches VALUES ('0404', '沈阳', '04', '');
INSERT INTO branches VALUES ('0201', '成都', '02', '');
INSERT INTO branches VALUES ('0501', '武汉', '', '');
INSERT INTO branches VALUES ('0502', '长沙', '05', '');
COMMIT;
  1. 查询branches表的数据,并进行JOIN操作:
sql 复制代码
SELECT * FROM branches;
SELECT branches.branch_name, branches.address FROM branches INNER JOIN area ON branches.area_no = area.area_no;
SELECT branches.branch_name, branches.address FROM branches RIGHT JOIN area ON branches.area_no = area.area_no;
SELECT branches.branch_name, branches.address FROM branches FULL JOIN area ON branches.area_no = area.area_no;
  1. 描述area表的结构:
sql 复制代码
DESC area;
  1. 修改area表的数据:
sql 复制代码
INSERT INTO area(area_no, area_name, dhq) VALUES ('06', '东北', 'Dalian');
COMMIT;
UPDATE area SET dhq='Haerbin' WHERE area_no='06';
COMMIT;
UPDATE area SET dhq='Haerbin';
COMMIT;
DELETE FROM area WHERE area_no='06';
COMMIT;
DELETE FROM area;
COMMIT;
  1. 创建和操作area_01表:
sql 复制代码
CREATE TABLE area_01 (area_no CHAR(2) NOT NULL PRIMARY KEY, area_name VARCHAR2(60), DHQ VARCHAR2(20) NOT NULL);
ALTER TABLE area_01 ADD NUM NUMBER(20); --添加NUM列
ALTER TABLE area_01 MODIFY DHQ VARCHAR(80); --修改列的长度
ALTER TABLE area_01 DROP COLUMN num; --删除列
DROP TABLE area_01; --删除表
  1. 创建和操作索引:
sql 复制代码
CREATE TABLE area_02(area_no CHAR(2) NOT NULL PRIMARY KEY, area_name VARCHAR2(60), DHQ VARCHAR2(20) NOT NULL);
CREATE INDEX idx_area_02_area_name ON area_02(area_name);
ALTER INDEX idx_area_02_area_name REBUILD; --重建索引
DROP INDEX idx_area_02_area_name; --删除索引
  1. 创建视图v_area_03:
sql 复制代码
CREATE TABLE area_03(area_no CHAR(2) NOT NULL PRIMARY KEY, area_name VARCHAR2(60), DHQ VARCHAR2(20) NOT NULL);
INSERT INTO area_03 VALUES ('01', '华东', 'Shanghai');
INSERT INTO area_03 VALUES ('02', '华西', 'Chengdu');
INSERT INTO area_03 VALUES ('03', '华南', 'Guangzhou');
INSERT INTO area_03 VALUES ('04', '华北', 'Beijing');
INSERT INTO area_03 VALUES ('05', '华中', 'Wuhan');
COMMIT;
CREATE OR REPLACE VIEW v_area_03 AS SELECT area_no, area_name, dhq FROM area_03;
  1. 创建视图v_area_03并查询:
sql 复制代码
CREATE OR REPLACE VIEW v_area_03 AS SELECT area_no,area_name,dhq FROM area_03;
SELECT * FROM v_area_03;
SELECT area_no,area_name,dhq FROM area_03;
DROP VIEW v_area_03;
  1. 创建用户ycauser并授权:
sql 复制代码
CREATE USER ycauser IDENTIFIED BY yca123456;
GRANT CONNECT TO ycauser;
REVOKE CONNECT FROM ycauser;
GRANT CONNECT TO ycauser;
GRANT RESOURCE TO ycauser;
相关推荐
丶意冷27 分钟前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
时序数据说2 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
戒不掉的伤怀2 小时前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
cv高级工程师YKY2 小时前
服务器 - - QPS与TPS介绍
数据库
nbsaas-boot3 小时前
高可扩展属性建模设计:架构师的全局思考与落地方案
数据库
爱上语文3 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
陈敬雷-充电了么-CEO兼CTO4 小时前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
MeshddY4 小时前
(超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
c语言·数据库·单片机
wuxinyan1234 小时前
Java面试题033:一文深入了解MySQL(5)
java·数据库·mysql·面试
萧曵 丶4 小时前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步