zoukankan      html  css  js  c++  java
  • 数据库系统概论-第三章

    DDL Data-Definition Language 数据定义语言

    DDL不仅定义一组关系(表结构),并且能定义关系的信息。

    DDL包括:关系的模式(表结构),属性的取值范围,完整性约束(非空,主外键),关系维护的索引集合(表的索引),关系的安全性和权限信息(表权限),关系在磁盘上的物理存储结构.

    数据库支持多种基础类型,char类型用于存储固定长度的字符串,比如属性A的取值范围定义为char(10),其取值为'Avi',数据库自动在其后填充七个空格。当属性A的取值范围为varchar(10)时,数据库不会在其后填充空格,所以取值范围为char(10)和varchar(10)的'Avi'在数据库中比较时不一定相等。一般避免使用char.

    DML Data-Manipulation Language 数据操作语言

    SQL将任何涉及null的运算视为unknown,既不是is null也不是is not null。
    

    大学数据库:
    找出Comp.Sci系开设的三个学分的课程
    SELECT title from course WHERE dept_name = 'Comp. Sci.' AND credits = 3;

    找出名为Einstein的教师所教的所有学生的标识,保证结果中没有重复
    SELECT DISTINCT a.s_ID FROM advisor a JOIN instructor i ON a.i_ID = i.ID WHERE i.NAME = 'Einstein';

    找出教师的最高工资
    SELECT MAX(salary) from instructor;

    找出工资最高的所有教师名称
    SELECT NAME FROM instructor WHERE salary = (SELECT MAX(salary) as max_salary from instructor);

    给Comp. Sci系的每位教师涨10%的工资
    UPDATE instructor SET salary = salary * 1.1;

    查询所有至少选修了一门Comp.Sci课程的学生名称
    SELECT DISTINCT NAME AS name FROM student WHERE dept_name = 'Comp. Sci.';

    MYSQL的like是大小写不敏感的,使用binary可以使其区分大小写
    SELECT * FROM department WHERE dept_name like binary '%Sci%';

    SQL的like是大小写敏感的,使用lower()函数可以使其不分区大小写
    SELECT * FROM department WHERE dept_name like lower('%Sci%');

    考虑查询

    select distinct p.id
    from p,a1,a2
    where p.id = a1.id or p.id = a2.id;

    select from 多表在mysql即是做内连接查询,如果p,a1,a2有

    MYSQL如果没有设置的话,在update的时候需要用主键作为where的条件,需要使用SET SQL_SAFE_UPDATES = 0;关闭安全更新设置(1的话则开启安全更新设置)

    Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

  • 相关阅读:
    Python
    Python
    Jmeter 学习路线
    Git 学习路线
    数据库学习路线
    Linux 学习路线
    Gitlab(2)- centos7.x 下安装社区版 Gitlab 以及它的配置管理
    云原生学习路线(仅供参考)
    Python
    Python
  • 原文地址:https://www.cnblogs.com/Simon-cat/p/10917503.html
Copyright © 2011-2022 走看看