网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

易忘sql整理sql_study

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:网学会员,鉴于大家对易忘sql整理sql_study十分关注,会员在此为大家搜集整理了“易忘sql整理sql_study”一文,供大家参考学习!


    SELECTPersons.LastName,Persons.FirstName,Orders.OrderNo
    FROMPersons,Orders
    WHEREPersons.Id_P=Orders.Id_P
    SELECTPersons.LastName,Persons.FirstName,Orders.OrderNo
    FROMPersons
    INNERJOINOrders
    ONPersons.Id_P=Orders.Id_P
    ORDERBYPersons.LastName
    除了我们在上面的例子中使用的INNERJOIN(内连接),我们还可以其他几种连接。
    下面列出了您可以使用的JOIN类型,以及它们之间的差异。
    JOIN:如果表中有至少一个匹配,则返回行
    LEFTJOIN:即使右表中没有匹配,也从左表返回所有的行
    RIGHTJOIN:即使左表中没有匹配,也从右表返回所有的行
    FULLJOIN:只要其中一个表中存在匹配,就返回行
    ---------SELECTINTO语句--------------
    SELECTINTO语句从一个表中选取数据,然后把数据插入另一个表中。
    SELECTINTO语句常用于创建表的备份复件或者用于对记录进行存档。
    SQLSELECTINTO语法
    您可以把所有的列插入新表:
    SELECT*
    INTOnew_table_name[INexternaldatabase]
    FROMold_tablename
    或者只把希望的列插入新表:
    SELECTcolumn_name(s)
    INTOnew_table_name[INexternaldatabase]
    FROMold_tablename
    SELECT*
    INTOPersonsIN'Backup.mdb'
    FROMPersons
    ------------------CREATEDATABASE用于创建数据库。----------------
    SQLCREATEDATABASE语法
    CREATEDATABASEdatabase_name
    --------unique--------
    SQLUNIQUE约束
    UNIQUE约束唯一标识数据库表中的每条记录。
    UNIQUE和PRIMARYKEY约束均为列或列集合提供了唯一性的保证。
    PRIMARYKEY拥有自动定义的UNIQUE约束。
    请注意,每个表可以有多个UNIQUE约束,但是每个表只能有一个PRIMARYKEY约束。
    SQLUNIQUEConstraintonCREATETABLE
    下面的SQL在"Persons"表创建时在"Id_P"列创建UNIQUE约束:
    MySQL:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255),
    UNIQUE(Id_P)
    )
    SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULLUNIQUE,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255)
    )
    如果需要命名UNIQUE约束,以及为多个列定义UNIQUE约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255),
    CONSTRAINTuc_PersonIDUNIQUE(Id_P,LastName)
    )
    SQLUNIQUEConstraintonALTERTABLE
    当表已被创建时,如需在"P_Id"列创建UNIQUE约束,请使用下列SQL:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ADDUNIQUE(P_Id)
    如需命名UNIQUE约束,并定义多个列的UNIQUE约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ADDC
    ONSTRAINTuc_PersonIDUNIQUE(P_Id,LastName)
    撤销UNIQUE约束
    如需撤销UNIQUE约束,请使用下面的SQL:
    MySQL:
    ALTERTABLEPersons
    DROPINDEXuc_PersonID
    SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    DROPCONSTRAINTuc_PersonID
    -----------Constraints----------
    SQL约束
    约束用于限制加入表的数据的类型。
    可以在创建表时规定约束(通过CREATETABLE语句),或者在表创建之后也可以(通过ALTERTABLE语句)。
    我们将主要探讨以下几种约束:
    NOTNULL
    UNIQUE
    PRIMARYKEY
    FOREIGNKEY
    CHECK
    DEFAULT
    ------------PRIMARY----------------
    SQLPRIMARYKEY约束
    PRIMARYKEY约束唯一标识数据库表中的每条记录。
    主键必须包含唯一的值。
    主键列不能包含NULL值。
    每个表应该都一个主键,并且每个表只能有一个主键。
    SQLPRIMARYKEYConstraintonCREATETABLE
    下面的SQL在"Persons"表创建时在"Id_P"列创建PRIMARYKEY约束:
    MySQL:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255),
    PRIMARYKEY(Id_P)
    )
    SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULLPRIMARYKEY,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255)
    )
    如果需要命名PRIMARYKEY约束,以及为多个列定义PRIMARYKEY约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255),
    CONSTRAINTuc_PersonIDPRIMARYKEY(Id_P,LastName)
    )
    SQLPRIMARYKEYConstraintonALTERTABLE
    如果在表已存在的情况下为"Id_P"列创建PRIMARYKEY约束,请使用下面的SQL:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ADDPRIMARYKEY(Id_P)
    如果需要命名PRIMARYKEY约束,以及为多个列定义PRIMARYKEY约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ADDCONSTRAINTpk_PersonIDPRIMARYKEY(Id_P,LastName)
    注释:如果您使用ALTERTABLE语句添加主键,必须把主键列声明为不包含NULL值(在表首次创建时)。
    撤销PRIMARYKEY约束
    如需撤销PRIMARYKEY约束,请使用下面的SQL:
    MySQL:
    ALTERTABLEPersons
    DROPPRIMARYKEY
    SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    DROPCONSTRAINTpk_PersonID
    ------------FOREIGN------------
    FOREIGNKEY约束用于预防破坏表之间连接的动作。
    FOREIGNKEY约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
    SQLFOREIGNKEYConstraintonCREATETABLE
    下面的SQL在"Orders"表创建时为"Id_P"列创建FOREIGNKEY:
    MySQL:
    CREATETABLEOrders
    (
    O_IdintNOTNULL,
    OrderNointNOTN
    ULL,
    Id_Pint,
    PRIMARYKEY(O_Id),
    FOREIGNKEY(Id_P)REFERENCESPersons(Id_P)
    )
    SQLServer/Oracle/MSAccess:
    CREATETABLEOrders
    (
    O_IdintNOTNULLPRIMARYKEY,
    OrderNointNOTNULL,
    Id_PintFOREIGNKEYREFERENCESPersons(Id_P)
    )
    如果需要命名FOREIGNKEY约束,以及为多个列定义FOREIGNKEY约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    CREATETABLEOrders
    (
    O_IdintNOTNULL,
    OrderNointNOTNULL,
    Id_Pint,
    PRIMARYKEY(O_Id),
    CONSTRAINTfk_PerOrdersFOREIGNKEY(Id_P)
    REFERENCESPersons(Id_P)
    )
    SQLFOREIGNKEYConstraintonALTERTABLE
    如果在"Orders"表已存在的情况下为"Id_P"列创建FOREIGNKEY约束,请使用下面的SQL:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEOrders
    ADDFOREIGNKEY(Id_P)
    REFERENCESPersons(Id_P)
    如果需要命名FOREIGNKEY约束,以及为多个列定义FOREIGNKEY约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEOrders
    ADDCONSTRAINTfk_PerOrders
    FOREIGNKEY(Id_P)
    REFERENCESPersons(Id_P)
    撤销FOREIGNKEY约束
    如需撤销FOREIGNKEY约束,请使用下面的SQL:
    MySQL:
    ALTERTABLEOrders
    DROPFOREIGNKEYfk_PerOrders
    SQLServer/Oracle/MSAccess:
    ALTERTABLEOrders
    DROPCONSTRAINTfk_PerOrders
    --------------CHECK---------------------
    SQLCHECK约束
    CHECK约束用于限制列中的值的范围。
    如果对单个列定义CHECK约束,那么该列只允许特定的值。
    如果对一个表定义CHECK约束,那么此约束会在特定的列中对值进行限制。
    SQLCHECKConstraintonCREATETABLE
    下面的SQL在"Persons"表创建时为"Id_P"列创建CHECK约束。CHECK约束规定"Id_P"列必须只包含大于0的整数。
    MySQL:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255),
    CHECK(Id_P>0)
    )
    SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULLCHECK(Id_P>0),
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255)
    )
    如果需要命名CHECK约束,以及为多个列定义CHECK约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255),
    CONSTRAINTchk_PersonCHECK(Id_P>0ANDCity='Sandnes')
    )
    SQLCHECKConstraintonALTERTABLE
    如果在表已存在的情况下为"Id_P"列创建CHECK约束,请使用下面的SQL:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ADDCHECK(Id_P>0)
    如果需要命名CHECK约束,以及为多个列定义CHECK约束,请使用下面的SQL语法:
    MySQL/SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ADDCONSTRAINTchk_PersonCHECK(Id_P>0ANDCity='Sandnes')
    撤销CHECK约束
    如需撤销CHECK约束,请使用下面的SQL:
    SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    DROPCONSTRAINTchk_Person
    --------DEFAULT-----------
    SQLDEFAULT约束
    DEFAULT约束用于向列中插入默认值。
    如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
    SQLDEFAULTConstraintonCREATETABLE
    下面的SQL在"Persons"表创建时为"City"列创建DEFAULT约束:
    MySQL/SQLServer/Oracle/MSAccess:
    CREATETABLEPersons
    (
    Id_PintNOTNULL,
    LastNamevarchar(255)NOTNULL,
    FirstNamevarchar(255),
    Addressvarchar(255),
    Cityvarchar(255)DEFAULT'Sandnes'
    )
    通过使用类似GETDATE()这样的函数,DEFAULT约束也可以用于插入系统值:
    CREATETABLEOrders
    (
    Id_OintNOTNULL,
    OrderNointNOTNULL,
    Id_Pint,
    OrderDatedateDEFAULTGETDATE()
    )
    SQLDEFAULTConstraintonALTERTABLE
    如果在表已存在的情况下为"City"列创建DEFAULT约束,请使用下面的SQL:
    MySQL:
    ALTERTABLEPersons
    ALTERCitySETDEFAULT'SANDNES'
    SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ALTERCOLUMNCitySETDEFAULT'SANDNES'
    撤销DEFAULT约束
    如需撤销DEFAULT约束,请使用下面的SQL:
    MySQL:
    ALTERTABLEPersons
    ALTERCityDROPDEFAULT
    SQLServer/Oracle/MSAccess:
    ALTERTABLEPersons
    ALTERCOLUMNCityDROPDEFAULT
    ---------ALTERTABLE语句------------------
    ALTERTABLE语句用于在已有的表中添加、修改或删除列。
    SQLALTERTABLE语法
    如需在表中添加列,请使用下列语法:
    ALTERTABLEtable_name
    ADDcolumn_namedatatype
    要删除表中的列,请使用下列语法:
    ALTERTABLEtable_name
    DROPCOLUMNcolumn_name
    注释:某些数据库系统不允许这种在数据库表中删除列的方式(DROPCOLUMNcolumn_name)。
    要改变表中列的数据类型,请使用下列语法:
    ALTERTABLEtable_name
    ALTERCOLUMNcolumn_namedatatype
    ----------------
    我们必须使用ISNULL和ISNOTNULL操作符。
    
  • 上一篇资讯: 易语言sql语法实用大全!
  • 下一篇资讯: 斯维尔技巧班讲义
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师