试图工具操作数据库

标识列(自增长)

约束

  • 主键约束

  • 外键约束

    设置主键 外键 关联表结构

  • 用户表

  • 部门表

  • 开始


  • 设置成功

  • Unipue约束唯一约束

将UserName设置为唯一不能重复

  • Check约束

设置用户年龄必须大于等于18小于等于45


  • Default约束 (默认值)

设置CreateTime字段默认的创建时间

脚本操作数据库

脚本创建数据库

use master --选择要操作的数据库
go --批处理命令--开始创建数据库
create database TestNewBase --数据库的名称
on primary --主文件组
(name = 'TestNewBase', --数据主要数据文件的逻辑名filename = 'D:\Microsoft SQL Server\TestNewBase.mdf', --主要文件的路径(绝对路径)size = 5MB, --数据库主要文件的初始大小filegrowth = 1MB --文件的增量
)
log on --创建日志文件
(name = 'TestNewBase_Log', --数据日志文件的逻辑名filename = 'D:\Microsoft SQL Server\TestNewBase_Log.mdf', --主要文件的路径(绝对路径)size = 1MB, --数据库日志文件的初始大小filegrowth = 10% --文件的增量
)
go

脚本删除数据库

drop database TestNewBase
go

脚本创建表

use TestNewBase
go
create table Productinfos --创建商品表
(-- identity(1,1) 表示字段初始重1开始每次自增1Id int identity(1,1) primary key not null, -- 自增 主键 不能为空 的id字段ProNo varchar(50) not null,ProName nvarchar(50) not null,TypeId int not null,--decimal(2,1),此时,插入数据“12.3”、“12”等会出现“数据溢出错误”的异常;插入“1.23”或“1.2345...”会自动四舍五入成“1.2”;插入“2”会自动补成“2.0”,以确保2位的有效长度,其中包含1位小数。Price decimal(18,2) default (0.00) null,ProCount int  default (0) null --商品数量 默认为0 可以为空
)
go
create table ProductType
(TypeId int identity(1,1) primary key not null,TypeName nvarchar(20) not null
)
go

脚本删除表

drop table Productinfos
go

脚本修改表 字段

-- 给表添加一列
alter table Productinfos add ProRemark nvarchar(50) null-- 删除一列
alter table  Productinfos drop column ProRemark-- 修改一列
alter table Productinfos alter column ProNo  nvarchar(50) null-- 修改字段名 (慎重使用 修改后有关联的对应名称都得修改)
exec sp_rename 'Productinfos.ProCount','Count','column' 

脚本插入数据及克隆表数据

use TestNewBase
go
-- 单条插入
insert into Productinfos(ProNo,ProName,TypeId,Price,Count) values (1,'测试',1,2.8,8)-- 多条插入
-- insert into 表面(字段名)
-- values('值1'),('值2')...
insert into ProductType(TypeName)
values('工具类1'),('工具类2'),('工具类3')
go-- 克隆表数据
-- 1 目标表在数据库以存在
insert into Test(Names) --目标表
select TypeName  from ProductType --原表
go
--2 目标表没有在数据库中 执行后字段创建目标表
select TypeName  into Test1 --目标表
From ProductType
go

脚本修改约束



查询语句

模糊查询

-- 模糊查询
--1、只要含有d的都查出来 (效率不高)
select * from Userinfos  where UserName like '%d%'
-- 以a开头的
select * from Userinfos  where UserName like 'a%'
-- 以3结尾的
select * from Userinfos  where UserName like '%3'-- 2、_匹配单个字符 限制长度
select * from Userinfos where UserName like 'a______3' -- 以a开头并且以3结尾的 并且中间长度是6select * from Userinfos where UserName like '___' --查询长度为3的--3、[]匹配范围 匹配【】中所有字符中的任意一个
select * from Userinfos where UserName like 'ad[a,b,m,d]in'
select * from Userinfos where UserName like 'ad[a-z]in'-- 匹配a到z中所有字符中的任意一个--3 [^] 不在[]中的所有字符之内的单个字符
select * from Userinfos where UserName like 'ad[^asd]in' --排除第三个字符为a s d 的

条件查询

select * from Userinfos  UserName --查询所有select  top 3 * from  Userinfos   --查询前3条select top 100 percent * from Userinfos -- 按百分比 查询百分之百select * from Userinfos where UserAge not in(23,22) --排除年龄等于 23,22的-- 子查询
select * From Userinfos  -- 先查询出所有用户表
where DeptId in
(  -- 在查询出 对应部门表中 DetpId 大于1的select DeptId  from Detpinfos where DeptId >1
)select * from Userinfos where UserAge between 21 and 33 -- 查询 大于大于21 小于大于33

聚合函数

use StudydDB
go
-- 聚合函数
select 1 from Userinfosselect count(1)  num from Userinfos -- 统计记录数-- sum求和
select sum(UserAge) from Userinfos; -- 年龄总合--avg 平均值
select avg(UserAge) from Userinfos;--max 平均值
select max(UserAge) from Userinfos;--min 最小值
select min(UserAge) from Userinfos;

删除 更新


update Userinfos set UserName = '新名字' where UserId = 4  -- 更新-- 删除
delete from Userinfos where UserId = 4;-- 清除表(还原表最初始状态)
truncate table 表名 -- 不会记录到日志 不激发触发器 比delete from Userinfos效率高

关联查询

  • 表结构
    用户表 Userinfos

    部门表 Detpinfos

inner join on 关联查询


select UserId,UserName,UserAge,u.DeptId,d.DetpName
from Userinfos u
inner join Detpinfos d on d.DetpId = u.DeptId

隐实连接

select UserId,UserName,UserAge,u.DeptId,d.DetpName
from Userinfos u,Detpinfos d
where d.DetpId = u.DeptId

左连接


select  * from Userinfos u  --结果:左表显示所有行  右表行数根据左表 没有匹配上的显示为null
left join Detpinfos d
on u.DeptId = d.DetpId

右连接

select  * from Userinfos u
right join Detpinfos d
on u.DeptId = d.DetpId

C# SQLserver 学习相关推荐

  1. SQLServer学习笔记系列6

    一.写在前面的话 时间是我们每个人都特别熟悉的,但是到底它是什么,用什么来衡量,可能很多人会愣在那里.时间可以见证一切,也可以消磨一切,那些过往的点点滴滴可思可忆.回想往年清明节过后,在家乡的晚上总能 ...

  2. SQLServer学习笔记系列2

    SQLServer学习笔记系列2 一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继 ...

  3. SQLServer学习笔记系列5

    一.写在前面的话 转眼又是一年清明节,话说"清明时节雨纷纷",武汉的天气伴随着这个清明节下了一场暴雨,整个城市如海一样,朋友圈渗透着清明节武汉看海的节奏.今年又没有回老家祭祖,但是 ...

  4. SQLServer学习-- SQLServer

    SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...

  5. SqlServer学习笔记【暂】

    Sql学习笔记,暂时先保存在着,等不忙了再整理成章节,如果其中有问题的,还请各位大神不吝赐教! 1 --------------------------------------所有的数据基于North ...

  6. SQLServer学习笔记系列4

    一.写在前面的话 好多天没有记录sql学习笔记了,要坚持下去,坚信每一点的进步都是为在积蓄力量.今天看到一幅图,特此分享出来. 通过这幅图,我看到的是每人站在自己的角度看问题,感受是不一样的,就如同学 ...

  7. SqlServer学习之触发器

    什么是触发器? 根据百度百科的解释,触发器是SqlServer提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,他的执行不是有程序调用,也不是手工启动,而是由事件来 ...

  8. SqlServer学习之存储过程

    前言:对于存储过程一直有一种抵触的心理,因为毕业至今所在的公司开发组都不是很规范,对于开发的一些注意事项并没有很多的规定,只是在知乎上查找相关知识的时候,看到很多人对于在程序里使用存储过程的不好之处都 ...

  9. Sqlserver学习研究

    关注关键词 :Sqlserver实用工具配置步骤 1)创建实用工具控制点(UCP) 2)连接到现有UCP 3)相UCP注册SQL Server实例 4)创建数据层应用程序 5)设置资源运行状况策略 6 ...

  10. SQLServer学习笔记八:多表连接查询

    学习目标 掌握多表连接查询的概念 学会使用内连接查询数据 学会使用外连接查询数据 学会使用UNION合并查询结果 前面学习的内容都是基于单个数据库表的查询,下面将学习涉及多个表的数据查询. 多表连接查 ...

最新文章

  1. 同样在JavaScript中
  2. MySQL必知必会教程:深入理解MySQL技术内幕
  3. 参会指南 |「MEET 2021智能未来大会」明天启幕!
  4. Activiti源码 之Command与 CommandInterceptor
  5. mall整合RabbitMQ实现延迟消息
  6. 我国共招过多少博士?多少硕士?数据来了!
  7. mysql_ping()函数的作用以及返回值的类型正确的是,[单选] mysql_ping()函数的作用以及返回值的类型正确的是:()...
  8. 织梦dede:channelartlist调用排除指定typeid栏目
  9. leetcode191-打家劫舍
  10. 嵌入式环境搭建之NFS
  11. [转载] 用 C++ 和 Java 写算法,差别大吗?
  12. pythonrequests查询_Python Requests实例,查询成绩
  13. 在Windows8系统下exe格式会计课件下载播放帮助图解
  14. 教师计算机知识培训内容,新学期教师计算机培训方案
  15. 【YOLO3D】:端到端3D点云输入的实时检测
  16. JavaScript实现百度坐标系、火星坐标系、WGS84坐标系的互相转换
  17. 蓝叠模拟器的通讯录位置
  18. 排除美颜相机等第三方相机直接调用系统相机处理方法
  19. qt 计算字符串宽度高度
  20. Archive for the 'TED' Category TED视频:Tan Le 能读懂脑电波的耳机

热门文章

  1. ubuntu 查看显卡信息 amd_如何升级独立显卡?提升CAD/3DMAX的性能
  2. SGI STL源码剖析——空间配置器
  3. 电脑中播放的声音怎么在线录制
  4. struts 国际化 中文编码问题
  5. 如何挑选装修图片效果图
  6. insert update
  7. 程序员修炼必读清单(二)
  8. 中国全面战争mod汉化版​
  9. 亚马逊Web服务(AWS)的几个主要应用
  10. 1019 数字黑洞(PAT乙级)