数据库第三章--SQL语言

数据库第三章--SQL语言

数据库第三章--SQL语言
数据库第三章--SQL语言
  • SQL语言概述
    • SQL(Structured Query Language,结构化查询语言)是一种对关系数据库进行访问的数据操纵语言
    • SQL对关系数据库的操作原理
      • 数据库对象创建、修改、删除
      • 数据库表的数据插入、修改、删除、查询、统计
      • 存储过程、触发器、函数等程序执行
      • 数据库权限、角色、用户等管理
    • SQL语言语句类型
      • 数据定义语言DDL:数据库对象的增删改
      • 数据操纵语言DML:数据库表的增删改
      • 数据查询语言DQL:数据库查询
      • 数据控制语言DCL:数据库对象访问权限控制
      • 事物处理语言TPL:数据库内部事物处理
      • 游标控制语言CCL:数据库游标操作
    • SQL语言的数据类型
      • 字符:CHAR、VARCHAR、TEXT
      • 整数:SMALLINT、INTEGER
      • 浮点数:NUMBER(n,d)、FLOAT(n,d)
      • 日期:DATE、DATETIME
      • 货币:MONEY
  • 数据定义SQL语句DDL
    • 数据库创建、修改、删除
      • 数据库创建SQL语句:CREATE DATABASE CourseDB
      • 数据库修改SQL语句:ALTER DATABASE CourseDB RENAME TO CourseManageDB
      • 数据库删除SQL语句:DROP DATABASE CourseManageDB
    • 数据库表创建、修改、删除
      • 数据库表创建SQL语句
        • 语句基本格式
          • CREATE TABLE  <表名>( <列名1>  <数据类型>  [列完整性约束]);
        • 列完整性约束关键词
          • PRIMARY KEY:主键
          • NOT NULL:非空值
          • NULL:空值
          • UNIQUE:值唯一
          • CHECK:有效性检查
          • DEFAULT:缺省值
        • 表约束定义主键
          • CONSTRAINT  <约束名>  PRIMARY Key(主键列)
        • 表约束定义代理键Serial
          • CONSTRAINT  <约束名>  PRIMARY Key(主键列)
        • 表约束定义外键
          • CONSTRAINT  <约束名>  FOREIGN Key(外键列)
      • 修改表结构SQL语句
        • ALTER TABLE <表名> ADD <新列名称><数据类型>|[完整性约束]
        • ALTER TABLE<表名> DROP  COLUMN <列名>;
        • ALTER TABLE <表名> RENAME TO <新表名>;
        • ALTER TABLE <表名> ALTER  COLUMN <列名> TYPE<新的数据类型>;
      • 删除表结构SQL语句
        • DROP TABLE <表名>;
    • 数据库索引创建、修改、删除
      • 索引Index:按照关系表中指定列的取值顺序组织元组数据存储的数据结构
      • CREATE  INDEX  Birthday_Idx  ON  STUDENT (Birthday);
      • ALTER  INDEX Birthday_Idx  RENAME TO Bday_Idx;
      • DROP  INDEX Bday_idx;
  • 数据操纵SQL语句
    • 数据插入语句
      • INSERT  INTO  <表名|视图名>[<列名表>]  VALUES (列值表);
      • INSERT INTO Student VALUES('2017220101105','柳因','女','1999-04-23','软件工程', 'liuyin@163.com');
    • 数据修改语句
      • UPDATE  <表名|视图名>SET  <列名1>=<表达式1>[,<列名2>=<表达式2>...][WHERE   <条件表达式>];
      • UPDATE Student SET  Email='zhaodong@163.com' WHERE   StudentName='赵东';
    • 数据删除语句
      • DELETE FROM <表名|视图名> [WHERE  <条件表达式>];
      • DELETE FROM  STUDENT WHERE   StudentName='张亮';