zoukankan      html  css  js  c++  java
  • SqlServer入门学习

    --distinct(去除重复数据)
    select distinct Time from HightTable
    --Between
    select * from HightTable where ID BETWEEN 1 and 2
    --or
    select * from HightTable where ID=1 or ID=2
    --and和or结合
    select * from HightTable where (ID=1 or ID =2) and ID=1
    --order by和排序(降序)
    select * from HightTable order by ID desc
    --top全部
    select top 2 * from HightTable
    --top字段
    select top 2 ID from HightTable
    --like左模糊(匹配坐标左边的字符)
    select * from HightTable where type like 'N%'
    --like右模糊(匹配坐标右边的字符)
    select * from HightTable where type like '%N'
    --like全匹配
    select * from HightTable where type like '%N%'
    --_匹配(_字符之后是某个字符的匹配)
    select * from HightTable where type like '_N'
    --_多个匹配
    select * from HightTable where type like 'N_N_N'
    --[]通配符(左通配'[]%',右通配'%[]',全通配,'%[]%',反通配'%[!N]%')
    select * from HightTable where type like '%[N]%'
    --in
    select * from HightTable where ID in(1,2)
    --表关联条件查询
    select a.id,b.id,b.Type from TestTime a,HightTable b where a.ID=10 and b.ID=1
    --inner join 内连接
    select * from HightTable h inner join TestTime t on h.ID = t.ID where h.ID<> null
    --left join 左连接
    select * from HightTable h left join TestTime t on h.ID = t.ID where h.ID = 1
    --right join 右连接
    select * from HightTable h right join TestTime t on h.ID = t.ID where h.ID=1
    --full join 只要其中一个表中存在匹配,就返回行
    select * from HightTable h full join TestTime t on h.ID = t.ID where h.ID=1
    --union 合并两个或多个 SELECT 语句的结果集(不存在重复的值)
    select * from HightTable union select * from HightTable where ID=1
    --union all(可以重复)
    select * from HightTable union all select * from HightTable where ID=1
    --select into(用于复制表和数据,复制一些字段)
    select Type,Time into HightTabless from HightTable
    --select into(用于复制表和数据,复制整张表)
    select * into HightTables from HightTable
    --连接其他表创新新表和数据
    select Type,Time into HightTablet from HightTable right join TestTime on HightTable.ID = TestTime.ID

    --创建数据库
    create database backbase
    --删除数据库
    drop database EFDemo
    --创建表 UNIQUE--约束唯一标识数据库表中的每条记录,PRIMARY KEY自增,跟unique不能来个同用
    create table table_back(
    id int NOT NULL UNIQUE ,
    lastname varchar(100),
    cityname varchar(100)
    )
    --删除表
    --drop table HightTable
    --FOREIGN KEY外键约束
    create table table_back1(
    id int NOT NULL UNIQUE ,
    lastname varchar(100),
    cityname varchar(100),
    Id_P int FOREIGN KEY REFERENCES table_back1(id)
    )
    --删除外键
    ALTER TABLE Orders
    DROP CONSTRAINT fk_PerOrders
    --Check限制值范围
    create table table_back2(
    id int NOT NULL UNIQUE ,
    lastname varchar(100),
    cityname varchar(100),
    Id_P int FOREIGN KEY REFERENCES table_back1(id),
    check(id>0)--or(check id>0 and lastname='xiaomi'),表已存在创建check约束则为(Add check(id>0))
    )
    --删除check约束
    alter table table_back2
    drop CONSTRAINT checkname
    --default 向表中插入默认值
    --OrderDate date DEFAULT GETDATE(),City varchar(255) DEFAULT 'Sandnes'
    --删除默认值设置
    --ALTER TABLE table_back2
    --ALTER COLUMN City DROP DEFAULT
    --CREATE INDEX 语句用于在表中创建索引(可以多列索引)
    create index index_name on highttable(id)
    --唯一索引
    create unique index index_name1 on highttable(id)
    drop index index_name on highttable
    --TRUNCATE TABLE 删除表格数据但不删除表格本身结构
    TRUNCATE TABLE highttable
    --alter table
    alter table highttable add colunm_name int
    --drop column 删除表中的列
    alter table highttable drop column colunm_name
    --alter column 修改表中的列
    alter table highttable alter column colunm_name varchar(30)
    --Auto-increment 会在新记录插入表中时生成一个唯一的数字
    --CREATE VIEW 创建视图
    CREATE VIEW [view_name] AS
    SELECT ID,Value
    FROM HightTable
    --now 返回当前的日期和时间
    --CURDATE() 返回当前的日期
    --CURTIME() 返回当前的时间
    --DATE() 提取日期或日期/时间表达式的日期部分
    --EXTRACT() 返回日期/时间按的单独部分
    --DATE_ADD() 给日期添加指定的时间间隔
    --DATE_SUB() 从日期减去指定的时间间隔
    --DATEDIFF() 返回两个日期之间的天数
    --DATE_FORMAT() 用不同的格式显示日期/时间
    --GETDATE() 返回当前日期和时间
    --DATEPART() 返回日期/时间的单独部分
    --DATEADD() 在日期中添加或减去指定的时间间隔
    --DATEDIFF() 返回两个日期之间的时间
    --CONVERT() 用不同的格式显示日期/时间
    --DATE - 格式 YYYY-MM-DD
    --DATETIME - 格式: YYYY-MM-DD HH:MM:SS
    --SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
    --TIMESTAMP - 格式: 唯一的数字
    --is null
    select * from HightTable where Value is null
    --is not null
    select * from HightTable where Value is not null
    --function 函数
    --AVG 返回某列的平均值
    SELECT AVG(column_name) FROM table_name
    --COUNT(column_name) 返回某列的行数(不包括 NULL 值)
    select COUNT(column_name) from HightTable
    --COUNT(*) 返回被选行数
    select COUNT(*) from HightTable
    --First 返回在指定的域中第一个记录的值
    --Last 返回指定域中最后一个记录的值
    --MAX(column) 返回某列的最高值
    select MAX(value) from HightTable
    --min(column) 返回某列的最低值
    select MIN(value) from HightTable
    --sum 返回某列的总和
    select SUM(value) from HightTable
    --var(column) 返回总体样本方差的估计值
    --VARP(column 返回总体方差的估计值
    --UCASE(c) 将某个域转换为大写
    select UCASE(type) from HightTable
    --LCASE(C) 将摸个域转换成小写
    select lcase(type) highttable
    --MID(c,start[,end]) 从某个文本域提取字符
    --LEN(c) 返回某个文本域的长度
    select LEN(value) from HightTable
    --INSTR(c,char) 返回在某个文本域中指定字符的数值位置
    select instr(2,'dasd') from HightTable
    --LEFT(c,number_of_char) 返回某个被请求的文本域的左侧部分
    select LEFT('dasdasdas',3)
    --right(c,number_of_char) 返回某个被请求的文本域的右侧部分
    --round(c,decimals) 对某个数值域进行指定小数位数的四舍五入
    select ROUND(2.122,2)
    --MOD(X,Y)返回除法操作的余数
    select mod(3,6)
    --now() 返回当前的系统日期
    select now() from HightTable
    --format(c,format) 返回某个域的显示方式(可用convert代替)
    select format(value,format) from HightTable
    --datediff(d,date1,date2) 用于执行日期计算
    select DATEDIFF(MONTH,'2015-01-12',getdate())
    --group by 根据一个或多个列对结果集进行分组
    select id,sum(Value) from HightTable group by id
    --Having 合计函数,无法与where一起使用,必须有group by
    select id from HightTable group by ID having SUM(sumValue)>10 order by ID desc
    --排序(降序)
    select * from HightTable order by ID desc
    --排序(升序)
    select * from HightTable order by ID asc

    --时间模糊查询

    SELECT * FROM table WHERE Convert(varchar,createdate,120) LIKE '2016-04%'

    希望对大家有用!

  • 相关阅读:
    js中Math.random()生成指定范围数值的随机数【转】
    JS绘制生成花瓣效果的方法【转】
    php 解决json_encode中文UNICODE转码问题【转】
    JS/JQuery获取当前元素的上一个/下一个兄弟级元素等元素的方法【转】
    PHP数据类型转换(字符转数字,数字转字符)【转】
    PHP 数组转字符串,与字符串转数组【转】
    js中forEach,for in,for of循环的用法【转】
    layui下的checkbox用js如何选中它【转】
    js数组与字符串的相互转换方法【转】
    JS判断网页是否为手机打开【转】
  • 原文地址:https://www.cnblogs.com/boosasliulin/p/5213440.html
Copyright © 2011-2022 走看看