SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数

 
--创建表格
create table aa
(
UserName varchar(50) primary key, --建主键.
Password varchar(20) not null, --不能为空
Name varchar(20) unique, --唯一键,不能重复
sex bit default 1, --建默认约束(缺省约束)
birthday datetime check(birthday>'1990-1-1')--建检查约束
)
create table bb
(
myname varchar(50) references aa(username), --外键联系(最好是对应aa表主键)
mybirthday datetime
primary key(myname,mybirthday) --联合主键
) --修改表
alter table aa add money float --添加money列
alter table aa drop column money --删除money列
alter table aa alter column Money Real --修改money列的属性,把原属性改为real属性 use mydb
--增
insert into Fruit(Ids,Name,Price) values('k008','榴莲',9.9)--增加时 主键不能为空,其他项系统默认为 NULL
insert into Fruit values('k009','甜瓜',4.8,'淄博',80,'image/4.gif')--所有列都添加,一个也不能落下
--删
begin tran
delete from Fruit --和begin tran 一块执行 数据能回复(roll back)
rollback
delete from Fruit where Ids='k008' --删除指定行 --修改
update Fruit set Source=null where Ids='k005' --修改指定行的某项数据
update Fruit set Numbers=65 where Ids='k002' --修改指定行的某项数据
update Fruit set Ids='k008'where Name='甜瓜' and Price='4.80' --修改指定名称和价格的 Ids --查询
select * from Fruit --查询所有
select Name,Price,Numbers from Fruit --查询指定列
select Name as'名称',Price as'价格',Source as '产地' from Fruit --查询指定列,并改变 虚拟表 的列名称(数据库中表没变)
select * from Fruit where Ids='k001' --查询指定行
select * from Fruit where Price=2.4 and Numbers=65 --查行内所有信息(列指定条件)
select Name from Fruit where Numbers between 80 and 100--查行内名称(列指定条件)
select name from Fruit where Source in('烟台','广东')--只查指定地区的行内的名称
select distinct numbers from Fruit --去重查询数量(相同数量只显示一次) select * from News
select * from News where title like '%大龄%'--模糊查询,查带大龄的信息(%代表很多字符)
select * from News where title like '要爱情%'--模糊查询,查以 要爱情开头的
select * from News where title like '%志在必得'--模糊查询,查以志在必得结尾的
select * from News where title like '%农业户_'--模糊查询,查农业户后只有一个字符的
select * from Fruit order by Numbers asc --按照数量升序排列(desc降序)
select * from Fruit order by Numbers desc,Price desc --按照数量降序排列,相同的在按价格降序排列 select * from Fruit --查询所有
select COUNT(*) from Fruit --返回fruit表里有多少条数据,有的企业为了节省资源 搜索 count(1)也可以,返回的是一个数字
select AVG(Price) as '平均价格' from Fruit --查询某一列的平均值,输出的是一个数字,列名用 平均价格 显示 SUM-数据和,MAX-最大值,MIN-最小值
select SUM(Numbers) from Fruit
select *,(price*0.8)as '折后价格' from Fruit --加一列数据库中没有的列,这里是加了一个8折后的价格列,显示为"折后价格"
select numbers,COUNT(1)from Fruit group by Numbers --根据某一列分组,求出该组内成员数量(根据number分组,相同number的被分为一组,并显示组内数量)
select Numbers,COUNT(*) from Fruit group by Numbers having COUNT(*)>1--根据numbers(列)分组,求出每组内成员数量,返回成员数大于1的组 --*******************************************************
use mydb
select * from student
select * from score
select * from teacher
select * from course
select * from car
--********************数学函数***********************
select Degree,SQRT(Degree) from Score--开平方,平方根
select Price,CEILING(Price) from Car--取大于该数的最小整数
select Price,FLOOR(Price) from Car --取小于该数的最小整数
select price,ROUND(Price,2) from Car--四舍五入,保留几位
select ABS(price) from Car--取绝对值
select RAND()*5+RAND()*10 --生成随机数,默认生成0-1之间的数,()内必须为空 --******************字符串函数****************************
select UPPER(Brand) from Car --转大写
select LOWER('WELCOME') --转小写
select LTRIM(' hello') --压缩左边的空格
select UPPER(RTRIM('no '))--压缩右边的空格
select rtrim(Name)from Car select * from News
select LEFT(title,5) from News--从左侧截取字符串,截取n个字符
select RIGHT(title,2) from News--右侧截取(汉字占一个字符空间,符号也占一个字符空间)
select SUBSTRING(title,3,2) from News--从第三个位置开始截取2个字符(含第三个字符)
select REVERSE(title) from News --翻转字符串
select REPLACE(title,'hujintao','xijinping') from News--替换字符串,把hujintao替换为xijinping
select STUFF(title,5,4,'农村环境') from News--替换指定位置的字符串(从第5个字符(含)开始截取4个字符,替换为'农村环境')
select LEN(title) from News --查字符串长度(汉字,符号各占一个字符空间) --*********************日期时间函数*************************
select * from Student
select YEAR(Sbirthday) from Student--取日期中的年份(month-月,day-天)
select GETDATE() --取当前系统时间
select DATEPART(YY,Sbirthday) from Student --取日期时间中的一部分 --类型转换
select CAST(0.22 as varchar(50)) --cast(源数据 as 目标类型) --查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的一个同学成绩的Cno、Sno和Degree,并按Degree从高到低次序排序。(any:只要大于其中最小的数就满足)(all:大于其中最大的数) select * from Score where Cno='3-105' and Degree >any(
select Degree from Score where Cno='3-245'
) order by Degree desc

--高级查询
use mydb
select * from Info
select * from Nation
select * from Family
select * from student
select * from score
select * from course


--连接查询(表与表)
select * from Info,Nation where Info.Nation=Nation.Code --通过外键连接2表


--join on 内连接
select * from Info join Nation on Info.Nation=Nation.Code


--查哪位同学的哪一门课考了多少分
select Student.Sname,Course.Cname,Score.Degree from Student join Score on Student.Sno=Score.Sno join Course on Course.Cno=Score.Cno

--右(左)连接,右边表必须显示全,如果左边表没有与之对应的信息,则补空值(null) 左连接把right 换成 left
select * from Info right join Nation on Info.Nation=Nation.Code


--全连接,左右两边的表都显示完全
select * from Info full join Nation on Info.Nation=Nation.Code


--联合查询,对于查出的两个或多个(结构相同)的表联合显示
select Code,Name from Info
union
select InfoCode,Name from Family


--子查询
select * from Info
----无关子查询,子查询执行是独立的,和父查询是没有关系的(没有用到父查询的东西)
select * from Info where YEAR(Birthday)=(
select year(Birthday) from Info where Code='p001'
)
--相关子查询
select * from Teacher
--求计算机系和电子工程系不同职称的老师信息(exists返回的是true或false,如果子查询中匹配正确的数量>0,返回结果为true,那么父循环中的该条查询保留)
select * from Teacher t1 where Depart='计算机系' and not exists( 
select * from Teacher t2 where Depart ='电子工程系'and t1.Prof=t2.Prof
)
union
select * from Teacher t1 where Depart='电子工程系'and not exists(
select * from Teacher t2 where Depart = '计算机系' and t1.Prof=t2.Prof
)
--查询除了每门课最高分之外的其他学生信息
select * from Score s1 where Degree not in(
select MAX(Degree) from Score s2 group by Cno having s1.Cno=s2.Cno
)
--分页
select * from Car


select top 5 * from Car --前5条数据,第一页
select top 5 * from Car where Code not in( --第二页数据
select top 5 Code from Car
)
select top 5 * from Car where Code not in( --第三页数据
select top 10 Code from Car
)
select CEILING(COUNT(*)/5) from Car --求总页数

SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]的更多相关文章

  1. SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询

    SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, ...

  2. java桥连接sql server之登录验证及对数据库增删改查

    一:步骤 1.sql server建立数据库和相关表 2.建立数据源  (1).打开控制面板找到管理,打开ODBC选项或直接搜索数据源  (2).打开数据源配置后点击添加,选择sql server点击 ...

  3. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  4. SQL学习之MYSQL的常用命令和增删改查语句和数据类型

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  5. day94:flask:Jinjia2模板引擎&flask中的CSRF攻击&Flask-SQLAlchemy的创建模型类和基本的增删改查

    目录 1.Jinjia2模板引擎 1.Jinjia2加载模板并传递数据到模板中 2.Jinjia2的模板语句 3.模板中特有的变量和函数 4.模板中内置的过滤器 5.自定义过滤器 6.模板继承 2.在 ...

  6. java连接sql server--关于登录验证及对数据库增删改查应用

    一:步骤## 1.sql server建立数据库和相关表 2.建立数据源  (1).打开控制面板找到管理,打开ODBC选项或直接搜索数据源  (2).打开数据源配置后点击添加,选择sql server ...

  7. Oracle 基本操作--数据类型、修改和删除表、增删改查和复制表

    一.Oracle基础数据类型:数据类型: 创建数据表时,设计数据表的结构问题,也就是设计及确定数据表中各个列的数据类型,是数值.字符.日期还是图像等其他类型. 因为只有设计好数据表结构,系统才会在磁盘 ...

  8. sql语句增删改查与子查询

    修改表 修改表 语法: Alter table <旧表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02 ...

  9. SQL Server 创建 修改 删除数据表

    1. 图形界面方式操作数据表 (1)创建和修改数据表 列名中如果有两个以上单词时,最好用下划线连接,否则可能会给将来的查询维护带来不便.我们公司美国佬做的数据库就很烦,所有列名都有空格,一旦忘记用方括 ...

随机推荐

  1. win7:Remote Desktop Services 启动失败

    背景: 其他PC使用mstsc远程某win7 pro sp1,一直失败. 分析: 影响远程桌面应用的设置有两个: 1. 计算机远程设置中,启用“允许远程协助连接这台计算机”,且远程桌面设置正确.如选择 ...

  2. iOS NSURLSession 封装下载类

    周六日鼓捣NSURLSession,效率虽然低下,最后还是有了一点点眉目.昨天和汤老师一起测试,又对它加深了一点理解.趁热打铁,先总结一下. 封装的类,对外用的方法,我写的是类方法,所以,在类方法中, ...

  3. celery 学习笔记 01-介绍

    celery 学习笔记 01-介绍 celery 是 python 中的常用的任务队列框架,经常用于异步调用.后台任务等工作.celery 本身以 python 写,但协议可在不同的语言中实现,其它语 ...

  4. 关于mysql的错误 - no query specified

    Mysql----error:no query specified mysql下抛出错误:error:no query specified出现此错误是sql不合法原因:如:select * from ...

  5. Java文件操作①——XML文件的读取

    一.邂逅XML 文件种类是丰富多彩的,XML作为众多文件类型的一种,经常被用于数据存储和传输.所以XML在现今应用程序中是非常流行的.本文主要讲Java解析和生成XML.用于不同平台.不同设备间的数据 ...

  6. msvc库没有安装包,编译选项选择 代码生成 MT【多线程】,C#调用

    参考提过的一个问题,封装VC++动态链接库,C#调用,并将C#程序打包为exe安装包. 感谢大神.

  7. OSG第一个Demo

    环境:Vs2010 OpenSceneGraph-3.0.1-VS10.0.30319-x86-debug-12741 OpenSceneGraph-3.0.1-VS10.0.30319-x86-re ...

  8. 转:VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径

    http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html

  9. 修改了系统自带头文件后,Xcode会报错

    1.Xcode自带头文件的路径 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Develo ...

  10. django关闭DEBUG后 static静态文件都访问不了

    Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...