oracle数据库学科总结,oracle数据库总结大全

学院   专业   班级   课程    学籍   成绩 数据库名称:学生库 1》学院表:关键字段:学院编号,学院名称   关系:学院编号为主键 2》专业表:关键字段:专业编号,专业名称  学院编号     关系:专业编号是主键   学院编号是学院表的外键 3》班级表:关键字段:班级编号,班级名称,专业编号   关系:班级编号是主键  专业编号是专业表的外键 4》课程表:关键字段:课程编号,课程名称, 关系:课程编号是主键 5》学籍表:关键字段:学号,姓名,性别,学院编号专业编号,班级编号 关系:学号为主键                                                                                    学院编号为学院表的外键                                          专业编号为专业表的外键                                          班级编号为班级表的外键 6》成绩表:关键字段:学号,课程编号,分数,学期   关系:(学号,课程编号) 为主键 学号为学籍表的外键                                           课程编号为课程表的外键 学院表 create table xueyuanbiao (     xy_xybh  char(2) not null primary key,     xy_xymc  char(8) not null,     xy_yz    char(6),     xy_sj    char(6),     xy_xyjs  varchar(300) ) 专业表 create table zhuanyebiao (      zy_zybh char(2) not null primary key,      zy_zymc char(20) not null,      // zy_xybh char(2) not null,     学院表为外键      zy_xybh char(2) not null constraint fk_xybh foreign key references xy_xybh,      zy_xyjs varchar(300) ) 班级表 create table banjibiao (      bj_bjbh char(4) identity(1,1) primary key,      bj_bjmc char(12) not null,      //bj_zybh char(2) not null,     专业表外键      bj_zybh char(2) not null constraint fk_zybh foreign key references zy_zybh,      bj_bz   char(6),      bj_xxwy char(6) ) 课程表 create table kechengbiao (      kc_kcbh  char(2) not null primary key,      kc_kcmc  char(10) not null,      //kc_lb    char(2) not null,      kc_lb char(2) not null constraint ck_lb check (类别>='01' and 类别<='04'),      kc_xf    decimal(4,0),      kc_kcjs  varchar(300) ) 学籍表 create table xuejibiao (      xj_xh char(6) identity(1,1) primary key,      xj_xm char(8) not null,      xj_xb char(2),      //xj_xybh char(2) not null,  学院表的外键      xj_xybh char(2) not null constraint fk_xybh1 foreign key references xy_xybh,      //xj_zybh char(2) not null,专业表的外键      xj_zybh char(2) not null constraint fk_zybh1 foreign key references zy_zybh,      //xj_bjbh char(4) not null,  班级表的外键      xj_bjbh char(4) not null constraint fk_bjbh1 foreign key references bj_bjbh,      //xj_zt  char(2)  1,2,3      xj_zt char(2) default '01' constraint ck_zt check(状态>='01' and 状态<='03'),      xj_sfzh char(18) ) 成绩表 create table chengjibiao (     //cj_xh char(6) not null,    学籍表的外键     //cj_kcbh char(2) not null,   课程表的外键     //cj_fs   decimal(6,1) not null,  0-100之间     //cj_xq  char(2)        cj_xh char(6) not null constraint fk_xh1 foreign key references xj_xh,     cj_kcbh char(2) not null constraint fk_kcbh1 foreign key references kc_ckbh,     cj_fs decimal(6,1) not null constraint ck_fs check (分数>=0 and 分数<=100),     cj_xq char(1),     constraint pk_xh_kcbh primary key(xh,kcbh) ) sql语句的种类   数据查询语言DQL    select 数据定义语言DDL    create,drop,alter 数据操纵语言DML    insert,update,delete 数据控制语言DCL    gtant,revoke Select    基本语法 SELECT 字段列表     /*查什么*/ FROM 表名           /*从哪查*/ WHERE …            /*查的条件*/ GROUP BY ...        /*查询结果分组*/ ORDER BY ...        /*查询结果排序*/ select 2+3*3 from dual;     数值计算 select sysdate from dual;    查询日期 set pagesize 100;   显示多少行 set linesize 100;   显示页面的间距 数据记录功能: 使用SPOOL 命令记录操作内容。    步骤1:执行命令:    spool c:\text    步骤2:执行命令:    select * from emp;    步骤3:执行命令:    select * from dept;    步骤4:执行命令:    spool off    步骤5:用记事本打开C:\test.lst 并查看内容:  SET HEADING ON/OFF:打开/关闭查询结果表头的显示,默认为ON。  SET FEEDBACK ON/OFF:打开/关闭查询结果中返回行数的显示,默认为ON。  SET ECHO ON/OFF:打开/关闭命令的回显,默认为ON。  SET TIME ON/OFF:打开/关闭时间显示,默认为OFF。 Oracle 常用的表字段数据类型有: CHAR:固定长度的字符串,没有存储字符的位置,用空格填充。 VARCHAR2:可变长度的字符串,自动去掉前后的空格。 NUMBER(M,N):数字型,M 是位数总长度,N 是小数的长度。 DATE:日期类型,包括日期和时间在内。 BOOLEAN: 布尔型,即逻辑型。 desc/describe 表名;   查询表的结构 create table 表名(列名) as SQL查询语句     //创建一个新表,并且把查询的结构数据插入到新表里面 drop table 表名;    删除表 delete table 表名;    删除表里面的数据 truncate table 表名;   清空表 rename 旧表名 to 新表名; select object_name from user_objects where object_type='TABLE';  //显示当前用户的所有表 数据完整性和约束条  数据完整性约束  表的五种约束     主键(primary key)     非空(not null)       唯一(unique)     检查(check)     外键(foreign key)     约束条件的创建   查看约束条件   使约束生效和失效 1.主键(primary key)      主键约束的语法如下:     [CONSTRANT 约束名] PRIMARY KEY ——列级     [CONSTRANT 约束名] PRIMARY KEY(列名1,列名2,…) ——表级 2.非空(not null)     [CONSTRANT 约束名] NOT NULL ——列级 3.唯一(unique)     惟一约束的语法如下:     [CONSTRANT 约束名] UNIQUE ——列级     [CONSTRANT 约束名] UNIQUE(列名1,列名2,…) ——表级 4.检查(check)     [CONSTRANT 约束名] CHECK(约束条件) —-列级,约束条件中只包含本列     [CONSTRANT 约束名] CHECK(约束条件) -—表级,约束条件中包含多列 5.外键(foreign key)     外键约束的语法如下:     第一种语法,如果子记录存在,则不允许删除主记录:     [CONSTRANT 约束名] FOREIGN KEY(列名1,列名2,…)            REFERENCES 表名(列名1,列名2,...)     第二种语法,如果子记录存在,则删除主记录时,级联删除子记录:     [CONSTRANT 约束名] FOREIGN KEY(列名1,列名2,...)      REFERENCES 表名(列名1,列名2,...) On delete cascade     第三种语法, 如果子记录存在,则删除主记录时,将子记录置成空:     [CONSTRANT 约束名] FOREIGN KEY(列名1,列名2,…)     REFERENCES 表名(列名1,列名2,...) On delete set null  约束条件的创建    CREATE TABLE 表名    (列名数据类型[DEFAULT 表达式][COLUMN CONSTRAINT],…     [TABLE CONSTRAINT]     ); commit;   提交 rollback;   回滚 使约束条件失效:    ALTER TABLE 表名DISABLE CONSTRANT 约束名; 使约束条件生效:    ALTER TABLE 表名ENABLE CONSTRANT 约束名; 增加新列     增加新列的语法如下:      ALTER TABLE 表名             ADD 列名数据类型[DEFAULT 表达式][COLUMN CONSTRAINT];     如果要为表同时增加多列,可以按以下格式进行:     ALTER TABLE 表名             ADD (列名数据类型[DEFAULT 表达式][COLUMN CONSTRAINT]...); alter table 出版社     add 电子邮件varchar2(30) check(电子邮件like '%@%'); 修改列的语法如下:       ALTER TABLE 表名           MODIFY 列名数据类型[DEFAULT 表达式][COLUMN CONSTRAINT]     如果要对表同时修改多列,可以按以下格式进行:       ALTER TABLE 表名           MODIFY(列名数据类型[DEFAULT 表达式][COLUMN CONSTRAINT]…); INSERT INTO 表名(字段列表) SELECT (字段名1,字段名2,…) FROM 另外的表名;   从另外的表复制数据 --创建一个新表manager Create table manager        as select empno,ename,sal from emp where job=’MANAGER’; --从emp 表拷贝数据到manager    Insert into manager          Select empno,ename,sal                              From emp                                     Where job=’CLERK’; Select * from manager; SET AUTOCOMMIT ON/OFF    设置是否自动提交155505577231 savepoint   建立保存点 update emp set sal=sal+100 where empno=7788;    根据条件更新数据 Select distinct job from emp;      消除重复行 select ename,sal from emp order by sal;   升序排序 select ename,sal from emp order by sal desc;    降序排序 select ename,sal from emp order by deptno,sal;   多列排序 select * from emp where (deptno=10 or deptno=20) and sal<1500;   三个条件 select * from emp where sal between 1000 and 2000;     在什么什么之间 select * from emp where job in ('SALESMAN','CLECK','MANAGER');     选择范围 select * from emp ename like 'S%';    模糊查询 --显示雇员的名称和所在的部门的编号和名称 Select emp.ename 姓名,emp.deptno 部门编号,dept.dname 部门名称 From emp,dept Where emp.deptno=dept.deptno; --查询部门10 和部门20 的所有职员 select deptno,job from emp where deptno=10 union select deptno,job from emp where deptno=20; startup force;   强制打开数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值