zoukankan      html  css  js  c++  java
  • sql03

    1、约束

    约束详解
        ->约束的目的:保证数据的完整性.  not null
        
        ->默认值约束、可空约束、主键约束、外键约束、唯一键约束、检查约束

    1) 用sql语句为表添加新的字段

    2) 为字段添加默认值

    alter table 表名 add constraint 约束名称(DF_表名_字段名) 约束方法 for 子段名;

    alter table [dbo].[user] add constraint DF_user_age default(18) for age;

    这里生成的约束可在“约束”内删除

    3)删除某一字段

    如果字段存在约束,需要先删除约束

    alter table [dbo].[user] drop column birthdate;

    4) 修改某一字段

    alter table [dbo].[user] alter column [name] nvarchar(16);

    5)主键约束

    alter table 表名 add constraint 约束名称(PK_表名_字段名)  primary key(字段名)

    6)唯一键约束

    alter table [user] add constraint UQ_user_name unique (name);

    7)外键约束

    一对一,一对多,多对多

    外键表关联主键表的主键

    添加外键列:

    alter table [user] add ClassId int null;
    --添加外键关系
    alter table [user] add constraint FK_user_Class foreign key(ClassId) references Class(ClassId);

    alter table 表名 add constraint 约束名 foreign key(关联字段)  references 主键表名(主键表主键); 

    2、select 查询

    1)其他用法:

    添加自定义常数列:

    找表中最短的列进行统计

    select count(*) from [user];

    查找表前5条数据

    select top 5 * from [user];

    *处可以用各个字段进行代替

    3、聚合函数

    1)平均值:avg

    select avg(字段名1),,avg(字段名2)... from 表名;

    select avg(age) from [user];

    2)计数:count

    select count(age) from [user];

    3)求和与最值

    select max(age) as 最大值,min(age) as 最小值,sum(age)asfrom [user];

    4、top

    一般跟排序order连用

    select top 5 * from [user] order by age asc,id desc;

    asc升序,desc降序

    5、去重distinct

    select distinct [age] from [user] order by age asc;

    distinct 只能跟在select后

    如果distinct后跟多个字段,则系统会综合这几个字段进行去重

    6、where 过滤

    not 用<>进行表示

    select * from [user] where age<>21;

    7、区间过滤

    可以用and解决

    也可用between

    select * from [user] where age between 20 and 50;

    8、模糊查询

    like 关键字

    %:匹配任何多个字符(0~多个)

    _:仅匹配1个字符

    1)例1:查找名字以J开头的数据:

    select * from [user] where [name] like 'J%';

    2)例2:查找名字中包含a的数据‘’

    select * from [user] where [name] like '%a%';

    3)例3:查找名字中第4个字符为a的数据‘’

    select * from [user] where [name] like '___a%';

    4)例4,:查询内容中包含',两个单引号表示1个

    select * from [user] where [name] like '%''%';

    5) 查找包含数字的1到2

    select * from [user] where [age] like '[1-2]%';

    6)匹配一个左中括号

    select * from [user] where [name] like '[[]%';

    或者声明转义

    select * from [user] where [name] like '[%' escape '';

    7)查询空数据

    select * from [user] where [age] is null;

    可在is后加not表示非空

     9、分组group

    分组使用时在select后只能跟分组相关信息与聚合函数

    select ClassId,count(*),sum(age) from [user] group by ClassId;

    ------------恢复内容结束------------

  • 相关阅读:
    webmagic使用
    网站文件下载链接
    正则表达式
    JS 页面刷新或重载
    History
    【问题&解决】fonts/fontawesome-webfont.woff2 404 (Not Found)
    ckeditor的使用
    Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1
    自定义配置文件的读取
    MVC中上传文件大小限制的解决办法
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/12400507.html
Copyright © 2011-2022 走看看