SQL Server 2016(基本概念和命令)
1、文件类型。
【1】主数据文件:数据库的启动信息。扩展名为".mdf"。
【2】次要(辅助)数据文件:主数据之外的数据都是次要数据文件。扩展名为".ndf"。
【3】事务日志文件:包含恢复数据库的所有事务日志信息。扩展名为".ldf"。
【4】文件流数据文件:存储文档、图片、音频、视频等。
2、表的基本感念。
行:每行成为一条"记录"或"元组",用于描述一个对象的信息。
列:每列称为一个"字段"或"属性",用于描述对象的一个属性。
3、主键、外键。
主键:键,即关键字。主键由一个或多个字段组成,其具有唯一性,不允许取空值(NULL)。一个表只能有一个主键。
外键:一个关系数据库通常包含多个表,通过外键可以使多个表关联起来。
4、常用数据类型。
精确数字:
int:SQL Server中的主要数据类型。(整数型)
bit:只有两种可以能值。只能是0、1或NULL(空值),Yes或No、True或False。(整数型)
money:用来表示钱和货币值。
日期和时间:
date:用于表示日期。
time:用于表示一天中的某个时间。
datetime:用于表示日期和时间。
字符串:
char:存储固定长度。
varchar:存储可变长度。
Unicode字符串:
nchar:存储固定长Unicode字符型数据。
nvarchar:存储变长Unicode字符型数据。
5、创建表。
创建表的基本语法:
create table 表名
(
列名1 数据类型(大小)
列名2 数据类型(大小)
列名3 数据类型(大小)
......
)
identity(1,1):表示该列为标识符,种子和增量值都为1。
not null:表示该列不允许空值。
primary key:表示该列为主键列,并且不为空。
check():表示该列创建约束,括号内为约束条件。
命令参考:
##创建表employee
create table employee
(
编号 int identity(1,1) not null,
姓名 nvarchar(50) not null,
身份证号 varchar(18) primary key,
职务 nvarchar(50) not null,
出生日期 datetime not null,
基本工资 money not null check(基本工资>=0 and 基本工资<=100000)
)##使用命令查看表employee的所有信息
select * from employee
6、删除表。语法:[ drop table 表名 ]
命令参考:
##删除表employee
drop table employee
7、修改表的结构。[ alter table 表名 ]
1、向表employee中添加一个"备注"列。
添加表的基本语法:
alter table 表名
add 列名 数据类型(大小)
命令参考:
##向表中添加备注列
alter table employee
add 备注 nvarchar(2000)
8、修改列。
修改列的数据类型:
alter table 表名
alter column 列名 数据类型(大小)
命令参考:
##修改备注列的长度为1000
alter table employee
alter column 备注 nvarchar(1000)
8、删除列。
删除列的基本语法:
alter table 表名
drop column 列名
命令参考:
##删除表中的备注列
alter table employee
drop column 备注
10、插入数据。语法:[ insert into 表名 (列名) values (列表值) ]
注意事项:
不能只插入半行或几列数据。
不能为标识符指定值,因为它的值是自动增长的。
插入的数据要符合check约束的要求。
如果指定不为空,则该列必须插入数据,否则将报错。
1、向表中插入一行数据。
命令参考:
insert into employee (姓名,身份证号,职务,出生日期,基本工资)
values ('郭靖','111222333444555666','运维工程师','1995/1/1',8000)
11、 更新数据。语法:[ update 表名 set 列名=更新值 where 更新条件 ]
1、更新表中黄蓉的基本工资为11000;更新表中郭靖的工资为"9000",备注为"勤奋好学"
命令参考:
update employee set 基本工资='11000' where 姓名='黄蓉'
update employee set 基本工资='9000',备注='勤奋好学' where 姓名='郭靖'
12、删除表中数据的两种方法。 (delete、truncate)
12.1、删除表中数据。语法:[ delete from 表名 where 删除条件 ]
1、删除表中杨过的记录(行);删除表中所有记录。
命令参考:
delete from employee where 姓名='杨过'
delete from employee
12.2、删除表中数据。[ truncate table 表名 ](类似格式化表中数据)
【1】与delete删除数据不同的是,truncate类似格式化,删除所有记录标识符会重置为0。
【2】delete删除后可以通过事务日志恢复,而truncate不能。
1、删除表中的所有记录。
13、select查询。
表达式:
between:指定范围,使用"and"定义开始值和结束值。例:(1 and 10)
in:是否在此范围内。例:in (10,20,30)
like:模糊查询。例:like '66%' //66开头的数据
<>:不等于。
!=:不等于,等同于<>。
通配符:
'_':表示单个字符。
%:表示任意长度的字符串。
[ ]:表示查找此范围内的数据。例:like '[C-P]' //从C到P之间开头的数据
[^]:表示不查找在此范围内的数据。例:like 'car[^afg]' //查找以car开头但是后面的字母不为a、f、g的名字。
逻辑表达式:
not:取反的操作。
and:和、并且的意思,需要同时满足两个条件。
or: 或的意思,只需要满足两个条件其中一个即可。
13.1、案例。
//查询表中的所有信息
select * from employee//查询表中的"姓名,职务,基本工资"列
select 姓名,职务,基本工资 from employee//查询表中运维工程师的姓名
select 姓名 from employee
where 职务='运维工程师'//查询表中基本工资在8000到10000之间的所有员工信息
select * from employee
where 基本工资 between 8000 and 10000//查询表中基本工资小于10000或大于20000的所有员工信息
select * from employee
where 基本工资<10000 or 基本工资>20000//查询表中基本工资为8000、9000、10000的所有员工信息
select * from employee
where 基本工资 in (8000,9000,10000)//查询表中身份证号以66开头的员工所有信息
select * from employee
where 身份证号 like '66%'//查询表中姓杨的运维工程师的信息。
select * from employee
where 姓名 like '杨%' and 职务='运维工程师'//查询表中备注不为空的所有信息
select * from employee
where 备注 is not null//查询表中前5行的数据
select top 5 * from employee//查询表中姓名和身份证号列的信息,姓名和身份证号以别名"name"、"idcard"显示
select 姓名 as name,身份证号 as idcard from employee//查询表中的基本工资,并以降序显示(高到低)
select * from employee
order by 基本工资 desc//查询表中的有哪些职务(去重)
select distinct 职务 from employee//查询表中的姓名(name)、身份证号、职务、基本工资信息,条件要满足身份证号第三位为0并且职务不是CTO,在降序显示
select 姓名 as name,身份证号,职务,基本工资 from employee
where 身份证号 like '__0' and 职务!='CTO'
order by 基本工资 desc
14、使用select查询后加入新表或查询后创建新表。
不需要事先创建新表
//查询employee表中的姓名、身份证号、职务信息后创建然后保存到new01表中
select 姓名,身份证号,职务 into new01 from employee
需要事先创建新表再能将查询到的信息保存到新表
//查询employee表中的姓名、职务、出生日期并且基本工资大于等于15000的员工信息,保存new02表中
insert into new02 (姓名,职务, 出生日期)
select 姓名,职务,出生日期 from employee
where 基本工资>=15000//查询employee表中的姓名、职务、出生日期信息保存到new03中,然后向new03中加入信息
select into new03 (姓名,职务,出生日期)
select '欧阳锋','人事经理','1988-09-09' union
select '一灯','财务经理','1977-07-07' union
select 姓名,职务,出生日期 from employee
15、在查询中使用函数。
系统函数:
字符串函数:
日期函数:
15.1、案例。
//查询运维工程师的姓名和基本工资,以固定格式显示
select '运维工程师 ' +姓名+' 的基本工资是: '+cast(基本工资 as varchar(10))+'元'
from employee
where 职务='运维工程师'//查询当前系统时间10天之后的时间
select dateadd(DD,10,getdate())//查询表中的表中所有人的姓名和年龄
select 姓名,datediff(YY,出生日期,getdate()) as 年龄
from employee//查询表中90后的员工姓名和出生年份
select 姓名,datename(YEAR,出生日期) as 出生日期
from employee
where 出生日期 between '1990-01-01' and '1999-12-31'//查询表中基本工资的总和
select sum(基本工资) as 总工资
from employee//查询表中基本工资的平均值
select avg(基本工资) as 平均工资
from employee//查询表中最高工资和最低工资的员工信息
select max(基本工资) as 最高工资,min(基本工资) as 最低工资
from employee//查询表中的总行数
select count(*) as 总行数
from employee//查询表中90后的总人数
select count(出生日期) as '90后人数'
from employee
where 出生日期>='1990-01-01'//查询表中各个职务的平均工资
select 职务,avg(基本工资) as 职务平均工资
from employee
group by 职务//查询表各个职务的平均工资小于10000的信息
select 职务,avg(基本工资) as 职务平均工资
from employee
group by 职务
having avg(基本工资)<10000//查询表中各个职务平均工资小于10000并且姓名不是段誉
select 职务,avg(基本工资) as 职务总工资
from employee
where 姓名 !='段誉'
group by 职务
having avg(基本工资) <10000
数字函数:
15.2、案例。
//查询表中的平均工资并取整
select ceiling(avg(基本工资)) as 平均工资
from employee
15.3、函数综合案例。
查询未满30岁的员工的生日和年龄,并且计算出距离30岁的天数,最后用字符串拼接显示结果。
select
'员工 '+姓名+
' 的生日是'+convert(varchar(10),出生日期,111)+
', 现在年龄是 '+cast(datediff(YY,出生日期,getdate()) as varchar(10))+'岁'+
', 距离30岁还有 '+
cast(datediff(DD,getdate(),dateadd(YY,30,出生日期)) as varchar(10))+'天'
from employee
where datediff(YY,出生日期,getdate())<=30
order by 出生日期
相关文章:

SQL Server 2016(基本概念和命令)
1、文件类型。 【1】主数据文件:数据库的启动信息。扩展名为".mdf"。 【2】次要(辅助)数据文件:主数据之外的数据都是次要数据文件。扩展名为".ndf"。 【3】事务日志文件:包含恢复数据库的所有事务…...

Linux C语言 30-套接字操作
Linux C语言 30-套接字操作 本节关键字:C语言 网络通信、套接字操作、TCP、UDP、服务端、客户端 相关C库函数:socket, bind, listen, accept, setsockopt, recv, send, recvfrom, sendto, close 什么是网络通信? 通信是人与人之间通过某种…...

RPC和REST对比
RPC和REST对比 参考学习 RPC 和 REST 之间有什么区别? 当我们对比RPC和REST时,其实是在对比RPC风格的API和REST风格的API,后者通常成为RESTful API。 远程过程调用(RPC)和 REST 是 API 设计中的两种架构风格。API …...

外包干了2年,技术退步明显。。。
前言 简单的说下,我大学的一个同学,毕业后我自己去了自研的公司,他去了外包,快两年了我薪资、技术各个方面都有了很大的提升,他在外包干的这两年人都要废了,技术没一点提升,学不到任何东西&…...

深度学习——第1章 深度学习的概念及神经网络的工作原理
1.1 序言——探索智能机器 千百年来,人类试图了解智能的机制,并将它复制到思维机器上。 人类从不满足于让机械或电子设备帮助做一些简单的任务,例如使用滑轮吊起沉重的岩石,使用计算器做算术。 人类希望计算机能够自动化执行更…...

爬虫爬取百度图片、搜狗图片
通过以下代码可以爬取两大图片网站(百度和搜狗)的图片,对于人工智能、深度学习中图片数据的搜集很有帮助! 一、爬取百度图片 该代码可以爬取任意百度图片中自定义的图片: import requests import re import time imp…...

Android Camera2使用
一 简介 1.1 Camera API: 这是旧版本的相机API,也称为Camera1 API。它提供了较简单的使用方式,适用于旧版Android设备。但它存在一些限制,如性能不佳、操作复杂等 1.2 Camera2 API: 这是新版本的相机API࿰…...

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)
安装 官网下载 https://www.charlesproxy.com/latest-release/download.do 安装charles文档 流程 上述链接解决下图问题 使用介绍 Charles介绍 上述链接看一至三即可,了解首页各个按钮的作用 charles全面使用教程及常见功能详解(较详细)…...

七、Lua字符串
文章目录 一、字符串(一)单引号间的一串字符(二)local str "Hello, "(三)[[ 与 ]] 间的一串字符(四)例子 二、字符串长度计算(一)string.len&…...

0基础学java-day13
一、包装类 1. 包装类的分类 1) 针对八种基本数据类型相应的引用类型【对象】—包装类 2) 有了类的特点,就可以调用类中的方法。 3) 如图: 2 包装类和基本数据的转换 3 案例演示 Integer01.java package com.hspedu.wrapper;/*** author 林然* version 1.0*/ p…...

好题记录:
好题记录: 1:2:3:三级目录 1: 下面代码的结果是:( ) 下面代码的结果是:( )#include <stdio.h> int main() {int arr[] {1,2,3,4,5};short *p (short*)arr;int i …...

web前端之JavaScrip中的闭包
MENU 闭包--笔试-11defineReactive函数,利用闭包封装Object.defineProperty()闭包--节流函数--笔试-10闭包的定义JavaScript闭包的9大经典使用场景 闭包–笔试-11 function fun() { var n 9; // js 中强行给一个未声明的变量赋值,// 程序不会报错// 并…...

Windows下命令行启动与关闭WebLogic的相关服务
WebLogic 的服务器类型 WebLogic提供了三种类型的服务器: 管理服务器节点服务器托管服务器 示例和关系如下图: 对应三类服务器, 就有三种启动和关闭的方式。本篇介绍使用命令行脚本的方式启动和关闭这三种类型的服务器。 关于WebLogic 的…...

LeetCode Hot100 169.多数元素
题目: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 方法一:哈希表 class Solution {public int…...

数据结构:堆的实现思路
我们之前写过堆的实现代码:数据结构:堆的实现-CSDN博客 这篇文章我们了解一下堆到底是如何实现的 1.堆向下调整算法 现在我们给出一个数组,逻辑上看做一颗完全二叉树。我们通过从根节点开始的向下调整算法可以把它调整成一个小堆 向下调…...

结合 DBSCAN 示例代码介绍 DBSCAN
前文为JoyT的科研之旅第一周——科研工具学习及论文阅读收获-CSDN博客 DBSCAN 介绍 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,它能够识别出任意形状的簇,并有效地处理噪声…...

vscode 调试jlink
文章目录 软件使用说明1、启动GDB Server2、下载gdb3、vscode配置4、调试 软件 vscodejlink - (JLinkGDBServer.exe)gcc-arm-none-eabi-10-2020-q4-major (arm-none-eabi-gdb.exe) 使用说明 vscode通过TCP端口调用JLinkGDBServer通过jlink连接和操作设备,vscode不…...

微前端实战:打造高效、灵活的前端应用架构
文章目录 一、微前端简介二、微前端的优势1. 高度模块化2. 独立部署3. 易于扩展4. 技术栈无关5. 独立升级 三、微前端的原理四、微前端案例思路《微前端实战》编辑推荐内容简介作者简介目录前言/序言 随着互联网行业的快速发展,前端应用的规模和复杂度也在不断增加。…...

csv文件EXCEL默认打开乱码问题
这里讨论的问题是,当用记事本打开带有中文字符的csv正常时,用excel打开却是乱码。 简单概括就是:编码问题,windows的 excel打开csv文本文件时,默认使用的是系统内的ANSI,在中文环境下就是GB2312。如果写文件…...

C语言之实现贪吃蛇小游戏篇(2)
目录 🎇测试游戏test.c 🎇游戏头文件包含&函数声明snake.h 🎇游戏实现snake.c 🎇测试游戏test.c #define _CRT_SECURE_NO_WARNINGS 1 #include "snake.h" void test() {int ch 0;do{Snake snake { 0 };//创建…...

Comparator接口
Comparator接口 Comparator 是 Java 中用于比较对象的接口。它允许开发者实现自定义的比较逻辑,以用于对对象进行排序或者确定它们的顺序。 主要方法: Comparator 接口中包含一个抽象方法: int compare(T o1, T o2):用于比较两…...

SELinux refpolicy详解(9)
接前一篇文章:SELinux refpolicy详解(8) 三、refpolicy内容详解 上一回讲解了refpolicy源码根目录下的build.conf文件的前一部分内容。本回继续讲解其后一部分。 2. build.conf 文件路径:refpolicy源码根目录/build.conf。 文…...

零基础上手,秒识别检测,IDEA研究院发布全新T-Rex模型
目标检测作为当前计算机视觉落地的热点技术之一,已被广泛应用于自动驾驶、智慧园区、工业检测和卫星遥感等场景。开发者在研究相关目标检测技术时,通常需熟练掌握图像目标检测框架,如通用目标检测框架 YOLO 系列,旋转目标检测框架…...

python每日一题——20旋转图像
题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]]…...

云计算生成式 -给你不一样的音乐推荐新体验
目录 摘要: 正文: 一、亚马逊云与生成式 AI 结合的展望/总结 二、我用亚马逊云科技生成式 AI 产品打造了什么,解决了什么问题 三、未来云端技术发展趋势的见解 四、云端技术未来需要解决的问题 1、如何保护数据安全和隐私? …...

Zabbix 6.0部署+自定义监控项+自动发现与自动注册+部署zabbix代理服务器
Zabbix 6.0 Zabbix 6.0一、关于zabbix1、什么是zabbix2、zabbix工作原理3、zabbix 6.0 特性4、zabbix 6.0 功能组件 二、Zabbix 6.0 部署1、 部署 zabbix 服务端(1) 部署 Nginx PHP 环境并测试(2) 部署数据库(3) 编译安装 zabbix server 服务端(4) 部署 Web 前端,进…...

Docker 简介及其常用命令详解
Docker 简介及其常用命令详解 Docker 自推出以来,已成为开发和运维领域的重要工具。它简化了应用的部署、测试和分发过程,使得容器化技术成为现代软件开发的标准实践。本文将为您提供Docker的基础介绍以及其常用命令的详细讲解。 什么是Docker…...

基于PHP的高中生物学习平台
有需要请加文章底部Q哦 可远程调试 基于PHP的高中生物学习平台 一 介绍 此高中生物学习平台基于原生PHP开发,数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈:phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 …...

Git多库多账号本地SSH连接配置方法
Git多库多账号本地SSH连接配置方法 一、前言二、环境三、帮助文档四、多环境配置4.1 配置config文件 五、生成RSA秘钥对5.1 ssh秘钥位置5.2 生成秘钥对(公钥、私钥)5.3 添加公钥到GIT用户配置中 六 测试git是否可以使用七、总结 一、前言 在使用Git管理…...

爬虫学习-基础(HTTP原理)
目录 一、URL和URI 二、HTTP和HTTPS (1)HTTP (2)HTTPS (3)HTTP与HTTPS区别 (4)HTTPS对HTTP的改进:双问的身份认证 三、TCP协议 (1)TCP三次握手…...