• Sql中常用的创建表 约束 主外键 增删改查的语句


    创建数据库

     1 USE master;
     2 GO
     3 --日记数据库
     4 create database DiaryBase
     5 on
     6 (
     7     name=DiaryBase_Dat,--逻辑名称
     8     FILENAME='c:DiaryBase.log',
     9     size=10MB,
    10     maxsize=50MB,
    11     FILEGROWTH=5MB
    12 )
    13 log on
    14 (
    15     name=DiaryBase_Log,
    16     FILENAME='c:DiaryBase.mdf',
    17     size=10MB,
    18     maxsize=50MB,
    19     FILEGROWTH=5MB
    20 )
    21 go
    View Code

    创建表 (包含约束)

     1 --drop table users
     2 create table Users
     3 (
     4     id int identity(1,1) primary key,
     5     username nvarchar(20) unique not null,--唯一约束
     6     userPassword varchar(20) not null,
     7     gender char check (gender ='' or gender =''),--check(这里是一个bool值)
     8     age int ,
     9       check (age>0 and age <100) --检查约束
    10 )
    11 go
    12 --drop table diaryinfo
    13 create table DiaryInfo
    14 (
    15     dId int identity(1,1) primary key,
    16     userId int foreign key references users ( id),--外键
    17     dInfo nvarchar(300) not null,
    18     dCreateTime datetime default  (getdate()),--默认约束
    19     dTitle nvarchar(50) 
    20 )
    21 go
    View Code

    修改表

     1 --增加和删除列
     2 alter table users add UserAddr nvarchar(30) 
     3 
     4 alter table users drop column useraddr
     5 
     6 alter table users add UserPhoneNumber nvarchar(40) 
     7         --add  DF_Users_userPhoneDf constraint
     8  default ('000000')
     9 
    10 
    11 --修改表的约束
    12 --删除和增加  默认约束
    13  alter table users  drop constraint   DF__Users__UserPhone__20C1E124
    14 alter table users    add constraint DF__Users__UserPhoneNumber  
    15          Default('5555') for UserPhoneNumber
    16 --增加删除  唯一约束(mssm中在索引分组里)
    17 alter table users drop constraint UQ__Users__F3DBC572276EDEB3
    18 alter table users add constraint UQ_users_UserName unique(UserName)
    19 
    20 --增加和删除 主键约束
    21 alter table Users drop constraint PK__Users__3213E83F24927208
    22 alter table Users add constraint Pk_Users_id primary key(id)
    23 
    24 --增加和删除 外键约束
    25 alter table DiaryInfo drop constraint FK__DiaryInfo__userI__30F848ED
    26 alter table DiaryInfo add constraint FK_DiaryInfo_userId 
    27             foreign key (UserId) references Users(id)
    28             
    29 --增加和删除  检查约束
    30 alter table Users drop constraint CK__Users__age__2A4B4B5E
    31 alter table Users add constraint  CK_Users_age check(age<100 and age>0) 
    View Code

    同时增加多条约束

    alter table Employees add
    constraint FK_Employees_Department foreign key(EmpDepId) references Department(DepId),
    constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120),
    constraint CK_Employees_EmpGender check(EmpGender='' or EmpGender='')
    View Code

    查询

    select
        学生编号=tsid,
        tsname as 学生姓名,
        tsgender 性别,
        婚否='否'--查询的时候直接赋值 ‘否’
    from TblStudent
    --where 性别='男'  这里性别无效 他只是用来显示的

    --distinct关键字,针对已经查询出的结果然后去除重复
    select distinct * from TblStudent

    --如果top后跟的不是数字,而是一个表达式一定要使用()把表达式括起来。
    select top (2*2) * from TblScore order by tMath desc

    select top 35 percent * from TblScore order by tMath desc

    --1.聚合函数不统计空值

    --对于in或者or 查询,如果查询中的条件是连续的几个数字,最好使用>=  <=或者between...and不要使用or或者in。提高效率
    select * from TblStudent where tsname like '张[a-z0-9]妹'

    --通配符放到[]中就转义了就不认为是通配符了。【】是系统默认的转移符
    select * from TblStudent where tsname like '%[%]%'

    查出

    当要搜索名字有 有[或者]字符的

    select * from TblStudent where tsname like '%[]]%'

    这样查不到,这里需要我们使用自定义转移符  ESCAPE

    select * from TblStudent where tsname like '%/[%'  ESCAPE '/'

  • 相关阅读:
    APC 注入
    远程线程注入突破SESSION 0
    .Net审计之.Net Json反序列化
    PHP审计之BEESCMS审计案例
    Thinkphp5学习笔记
    mysql 必知必会整理—触发器[十五]
    mysql 必知必会整理—游标[十四]
    mysql 必知必会整理—存储过程[十三]
    mysql 必知必会整理—视图[十二]
    mysql 必知必会整理—表[十一]
  • 原文地址:https://www.cnblogs.com/nanxiaoxiang/p/6553769.html
Copyright © 2020-2023  润新知