zoukankan      html  css  js  c++  java
  • SQL学习笔记2

    2018.10.16:周二

    --进阶
     
    --别名
    SELECT StuName,StuNum+','+StuClass+','+StuGender+','+StuPhone AS 信息
    FROM Student;
     
    --删除主键约束
    ALTER TABLE Student DROP CONSTRAINT PK_Student;
     
    --创建表并添加唯一性约束
    CREATE TABLE Persons(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
    );
    --如果表已被创建添加唯一性约束
    ALTER TABLE Student
    ADD UNIQUE (ID);
    --如果需要命名约束
    ALTER TABLE Student
    ADD CONSTRAINT uc_Student UNIQUE (ID,StuName)
    --删除这个约束
    ALTER TABLE Student
    DROP CONSTRAINT uc_Student;
     
    --主键约束
    CREATE TABLE Person(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
    );
    --在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。
    --然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。
    --如果表已创建
    ALTER TABLE Person
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName);
    --删除约束
    ALTER TABLE Person
    DROP CONSTRAINT pk_PersonID;
     
    --外键约束
    CREATE TABLE Orders(
    O_Id int NOT NULL PRIMARY KEY,
    OrderNo int NOT NULL,
    P_Id int FOREIGN KEY REFERENCES Person(P_Id)
    );
     
    --如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
    CREATE TABLE Orders1(
    O_Id int NOT NULL,
    OrderNo int NOT NULL,
    P_Id int,
    PRIMARY KEY (O_Id),
    CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
    REFERENCES Person(P_Id)
    );
     
    -- 当表已被创建时
    ALTER TABLE Orders
    ADD FOREIGN KEY (P_Id)
    REFERENCES Persons(P_Id)
    -- 如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
    ALTER TABLE Orders
    ADD CONSTRAINT fk_PerOrders
    FOREIGN KEY (P_Id)
    REFERENCES Persons(P_Id)
     
    -- 删除约束
    ALTER TABLE Orders
    DROP CONSTRAINT fk_PerOrders
     
    -- 默认约束
     
    -- 下面的 SQL 在表创建时在 "City" 列上创建 DEFAULT 约束:
    CREATE TABLE Persons1016_1(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255) DEFAULT 'Sandnes'
    )
    -- 通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
    CREATE TABLE Orders1016_2(
    O_Id int NOT NULL,
    OrderNo int NOT NULL,
    P_Id int,
    OrderDate date DEFAULT GETDATE()
    )
     
    --当表已被创建时,如需在 "City" 列创建 DEFAULT 约束
    ALTER TABLE Persons
    ADD CONSTRAINT DF_Persons_City DEFAULT('SANDNES') FOR City
    --Persons 为表名
    --City 为列名
    --DF_Persons_City 为我们创建的默认约束的名称 约束名称一般为:约束类型简称_表名_列名
     
    --删除
    ALTER TABLE Persons1016_1
    ALTER COLUMN City DROP DEFAULT;
     
    --having
    SELECT ID,StuName,StuClass,StuPhone,StuAge,SUM(ID+StuAge) AS HE
    FROM Student
    GROUP BY ID ,StuName,StuClass,StuPhone,StuAge
    HAVING StuAge>22;
     
  • 相关阅读:
    hdu 1269 迷宫城堡 (并查集)
    hdu 1272 小希的迷宫 (深搜)
    hdu 1026 Ignatius and the Princess I (深搜)
    hdu 1099 Lottery
    hdu 1068 Girls and Boys (二分匹配)
    几个基础数位DP(hdu 2089,hdu 3555,uestc 1307 windy 数)
    hdu 1072 Nightmare (广搜)
    hdu 1398 Square Coins (母函数)
    hdu 1253 胜利大逃亡 (深搜)
    hdu 1115 Lifting the Stone (求重心)
  • 原文地址:https://www.cnblogs.com/nullcodeworld/p/9797298.html
Copyright © 2011-2022 走看看