SQLServer相关操作
创建数据库
修改数据库
删除数据库
查看数据库信息
创建数据表
修改数据表
删除数据表
查询数据表
添加数据
创建视图
修改视图
删除视图
创建索引
修改索引
删除索引
查询索引
更改索引
创建数据库用户账号
创建数据库
CREATE DATABASE 数据库名称
[ON
[FILEGROUP 文件组名称]
(NAME = 数据库文件逻辑名,
FILENAME = '路径 + 数据库文件名',
SIZE = 数据文件初始大小,
MAXSIZE = 数据文件最大容量,
FILEGROWTH = 数据文件自动增长容量,)]
[LOG ON
(NAME = 日志文件逻辑名称,
FILENAME = '路径 + 日志文件名',
SIZE = 日志文件初始大小,
MAXSIZE = 日志文件最大容量,
FILEGROWTH = 日志文件自动增长容量)]
[COLLATE 数据库校验方式名称]
[FOR ATTACH]
例:新建一个数据库Teach,数据文件的逻辑名称为Teach_Data,数据文件存放在E盘根目录下,文件名称为Teach_Data.mdf;日志文件的逻辑名称为Teach_Log,日志文件的物理地存放在E盘根目录下,文件名为TeachData.ldf
CREATE DATAVASE Teach
ON
(NAME = Teach_Data,
FILENAME = 'E:\TeachData.mdf',
SIZE = 10,
MAXSIZE = 500,
FILEGROWTH = 10)
LOG ON
(NAME = Teach_Log,
FILENAME = 'E:\TeachData.ldf',
SIZE = 5,
MAXSIZE = 500,
FILEGROWTH = 5)
修改数据库
ALTER DATABASE 数据库名称
ADD FILE(具体文件格式) [,...n]
[TO FILEGROUP 文件组名]
[ADD LOG FILE(具体文件格式) [,...n]
|REMOVE FILE 文件逻辑名称
|MODIFY FILE(具体文件格式)
|ADD FILEGROUP 文件组名
|REMOVE FILEGROUP 文件组名
|MODIFY FILEGROUP 文件组名
{READ_ONLY|READ_WRITE,
|DEFAULT,
|NAME = 新建文件组名}
]
例: 修改Teach数据库中的Teach_Data文件增容方式为一次增加20MB
ALTER DATABASE Teach
MODIFY FILE
(NAME = Teach_Data,
FILEGROWTH = 20)
例: 用SQL命令修改数据库Teach,增加一个次要数据文件,逻辑名称为Teach_Datanew,存放在E盘的根目录下,文件名为Teach_Datanew.ndf
ALTER DATABASE Teach
ADD FILE(
NAME = Teach_Datanew,
FILENAME = 'E:\Teach_Datanew.ndf',
SIZE = 100,
MAXSIZE = 200,
FILEGROWTH = 10)
例: 使用SQL命令,从Teah数据库中删除次要数据文件
ALTER DATABASE Teach
REMOVE FILE Teach_Datanew
删除数据库
DROP DATABASE 数据库名称[,...n]
例:删除数据库Teach
DROP DATABASE Teach
查看数据库信息
Sp_helpdb[[@dbname=]'name']
Sp_helpfile[[@filename=]'name']
Sp_helpfilegroup[[@filegroupname=]'name']
例: 用系统存储过程显示数据库结构
EXEC Sp_helpdb AdventureWorks2012
例: 用系统存储过程显示文件信息
EXEC Sp_helpfile Address
例: 用系统存储过程显示文件组信息
USE AdventureWork2012
EXEC Sp_helpfilegroup
创建数据表
CREATE TABLE <表名>
(<列定义>[{, <列定义>|<表约束>}])
例: 建立一个学生表S
CREATE TABLE S
(SNo CHAR(6),
SN VARCHAR(10),
Sex NCHAR(1) DEFAULT '男',
Age INT,
Dept NVARCHAR(20))
修改数据表
ALTER TABLE <表名>
ADD <列定义> | <完整性约束定义>
ALTER TABLE <表名>
ALTER COLUMN <列名> <数据类型>
[NULL | NOT NULL]
ALTER TABLE <表明>
DROP CONSTERAINT <约束名>
例: 在S表中增加一个班号列和住址列
ALTER TABLE S
ADD
Class_No VARCHAR(6),
Address NVARCHAR(20)
例: 在SC表中增加完整性约束定义,使Score在0~100之间
ALTER TABLE SC
ADD
CONSTRAINT Score_Chk CHECK(Score BETWEEN 0 AND 100)
例: 把S表中的SN列加宽到12个字符
ALTER TABLE S
ALTER COLUMN
SN NVARCHAR(12)
例: 删除S表中的主键
ALTER TABLE S
DROP CONSTRAINT S_Prim
删除数据表
DROP TABLE <表名>
查询数据表
SELECT [ALL|DISTINCT][TOP N [PERCENT][WITH TIES]]
<列名> [AS 别名1][{, <列名>[AS 别名2]}]
FROM <表名> [[AS]表别名]
[WHERE <检测条件>]
[GROUP BY <列名1>[HAVING <条件表达式>]]
[ORDER BY <列名2>[ASC|DESC]]
例: 查询学生的全部信息
SELECT * FROM S
例: 查询选修了课程的学生学号
SELECT DISTINCT SNo FROM SC
例: 查询"刘伟"老师所讲授的课程,要求列出教师号、教师姓名和课程号
SELECT T.TNo, TN, CNo
FROM T, TC
WHERE (T.TNo = TC.TNo) AND (TN = '刘伟')
例: 查询所有选课学生的学号、姓名、选课名称及成绩
SELECT S.SNo, SN, CN, Sore
FROM S, C, SC
WHERE S.SNo = SC.SNo AND SC.CNo = C.CNo
例: 查询所有学生的学号、姓名、选课名称及成绩
SELECT S.SNo, SN, CN, Score
FROM S
LEFT OUTER JOIN SC
ON S.SNo = SC.SNo
LEFT OUTER JOIN C
ON C.CNo = SC.CNo
例: 对学生表S和课程表C进行交叉查询
SELECT * FROM S CROSS JOIN C
例: 查询与"刘伟"老师职称相同的教师
SELECT TNo, TN FROM T
WHERE Prof = ( SELECT Prof
FROM T
WHERE TN = '刘伟')
例: 用含有EXISTS的语句查询讲授课程号为C5的教师姓名
SELECT TN
FROM T
WHERE EXISTS ( SELECT *
FROM TC
WHERE TNo = T.TNo AND CNo = 'C5')
例: 查询没有讲授课程号为C5的教师姓名
SELECT TN
FROM T
WHERE (NOT EXISTS (SELECT * FROM TC
WHERE TNo = T.TNo = T.TNo AND CNo = 'C5'))
例: 从SC数据表中查询出学号为S1同学的学号和总分,再从SC数据表中查询出学号为S5的同学的学号和总分,然后将两个查询结果合并成一个结果集
SELECT SNo AS 学号, SUM(Score) AS 总分
FROM SC
WHERE (SNo = 'S1')
GROUP BY SNo
UNION
SELECT SNo AS 学号, SUM(Score) AS 总分
FROM SC
WHERE (SNo = 'S5')
GROUP BY SNo
例: 从SC数据表中查询出所有同学的学号和总分,并将查询结果存放到一个新的数据表Cal_Table中
SELECT SNo AS 学号, SUM(Score) AS 总分
INTO Cal_Table
FROM SC
GROUP BY SNo
添加数据
INSERT INTO <表名>[(<列名1>[, <列名2>])] 子查询
例: 在SC表中添加一条选课记录(‘S7’, ‘C1’)
INSERT INTO SC(SNO, CNo) VALUES('S7', 'C1')
例: 求出各系主任教师的平均工资,把结果存放在新AvgSal中
CREATE TABLE AvgSal
(Department VARCHAR(20),
Average SMALLINT)
更新数据
UPDATE <表名> SET <列名> = <表达式> [, <列名> = <表达式>]...
[WHERE <条件>]
例: 把刘伟老师转到信息系
UPDATE T
SET Dept = '信息'
WHERE SN = '刘伟'
例: 将所有学生的年龄增加1岁
UPDATE S SET Age = Age + 1
例: 把教师表中工资小于或等于1000元的讲师的工资提高20%
UPDATE T SET Sal = 1.2 * Sal
Where (Prof = '讲师')
AND Sal <= 1000
创建视图
CREATE VIEW view_name[(column[,...n])] AS select_statement
例: 创建一个计算机系教师情况的视图Sub_T
CREATE VIEW Sub_T
AS SELECT TNo, TN, Prof
FROM T WHERE Dept = '计算机'
例: 创建一学生情况视图S_SC_C
CREATE VIEW S_SC_C(SNo, SN, CN, Score)
AS SELECT S.SNo, SN, CN, Scroe
FROM S, C, SC WHERE S.SNo = SC.SNo
AND SC.CNo = C.CNo
例: 创建一个学生平均成绩的视图S_Avg
CREATE VIEW S_Avg(SNo, Avg)
AS SELECT SNo, Avg(Score) FROM SC GROUP BY SNo
修改视图
ALTER VIEW <视图名>[(<视图列表>)] AS <子查询>
例: 修改学生情况视图S_SC_C
ALTER VIEW S_SC_C(SN, CN, Score)
AS SELECT SN, CN, Score
FROM S, C, SC
WHERE S.SNo = SC.SNo AND SC.CNo = C.CNo
删除视图
DROP VIEW <视图名>
例: 删除计算机系教师情况的视图Sub_T
DROP VIEW Sub_T
创建索引
CREATE [UNIQUE][CLUSTERED|NONCLUSTERED] INDEX index_name
ON table_or_view_name(column_name[ASC|DESC][,...n])
[WITH [,...n]]
[ON {filegroup_name|"default"}]
例: 为表SC在SNo和CNo上建立唯一索引
CREATE UNIQUE INDEX SCI ON SC(SNo, CNo)
例: 为教师表T在TN上建立聚集索引
CREATE CLUSTER INDEX TI ON T(TN)
修改索引
ALTER INDEX {index_name | ALL}
ON table_or_view_name
{REBUILD
[[PARTITION = ALL]
[WITH()]
|[PARTITION = partition_number
[WITH(
[,...n])
]]]
|DISABLE
|REORGANIZE
[PARTITION = partition_number]
[WITH(LOB_COMPACTION = {ON | OFF})]
|SET([,...n])
}[;]
REBUILD:删除索引并且重新生成索引
PARTITION:指定只重新生成或重新组织索引的一个分区
DISABLE:将索引标记为禁用,从而不能由数据库引擎使用
REORGANIZE:重新组织索引
删除索引
DROP INDEX
DROP INDEX ON
查询索引
Sp_helpindex [@objname=]'name'
例: 查询表SC的索引
EXEC Sp_helpindex SC
更改索引
Sp_rename'数据表名.原索引名','新索引名'
例: 更改T表中的索引T1名称为T_Index
EXEC Sp_rename 'T.T1','T_Index'
创建数据库用户账号
CREATE USER user_name
[{FOR|FROM}
{LOGIN login_name
|CERTIFICATE cert_name
|ASYMMETRIC KEY asym_key_name}
|WITHOUT LOGIN]
规则
例: 创建学生年龄规则
CREATE RULE age_rule
AS @age >= 18 AND @age <= 50
Sp_bindrule[@rulename=]'rule'.[@objname=]'object_name'[,'futureonly']
例: 绑定规则age_rule到S表的字段Age
EXEC Sp_bindrule'age_rule'.'S.Age'
Sp_unbindrule[@objname=]'object_name'[,'futureonly']
例: 解除已绑定到S表的字段Age的规则age_rule
EXEC Sp_unbindrule 'S.Age'
DROP RULE{rule_name}[,...n]
例: 删除age_rule规则
DROP RULE age_rule
CREATE DEFAULT default_name AS constant_expression
例: 创建生日日期默认birthday_defa
CREATE DEFAULT birthday_defa AS '1987-1-1'
EXEC Sp_helptext birthday_defa
Sp_bindefault[@defname=]'default'
[@objname=]'object_name'[,'futureonly']
Sp_unbindefault[@objname=]'object_name'[,'futureonly']
例: 绑定默认birthd_defa到数据表S的Birthday列
EXEC Sp_bindefault 'birthday_defa,' 'S.Birthday'
例: 解除默认birthd_defa与表S的Birthday列的绑定
EXEC Sp_unbindefault 'S.Birthday'
DROP DEFAULT{default_name}[,..n]
例: 删除学生生日默认birthd_defa
DROP DEFAULT birthday_defa
你可能感兴趣的:(SQLServer常用简单语句及举例)
AWE大会来袭:家电圈上演“无限战争”
互联网江湖
人工智能 大数据 microsoft
文:互联网江湖作者:刘致呈3月19日,一年一度的中国家电及消费电子博览会AWE如期而至。每次大会,大小品牌方都会携自己的新品亮相,是家电圈的“春晚”。这次的看点除了AI外,还有一个有意思的点,就是部分品牌开始向大家电进军。比如追觅科技,在高端扫地机器人市场上取得一番成绩之后,表示要开始做冰箱、空调、洗衣机了。无独有偶,主攻厨电赛道的方太,也开始进军冰箱板块;还有石头科技,也有洗烘一体的洗衣机。这些
滴滴2024年四季度财报:订单同比增长14.8% GTV增至1032亿元
互联网江湖
人工智能 大数据
3月18日,滴滴在其官网发布2024年第四季度业绩及全年业绩。延续前三季度的增长趋势,四季度,滴滴包括中国出行和国际业务在内的核心平台交易量达42.66亿单,同比增长14.8%,同期核心平台GTV(交易总额)达1032亿元,同比增长14.5%。2024年全年滴滴核心平台交易量为160.05亿单,较2023年增长18.8%;2024全年滴滴核心平台GTV为3927亿元,较2023年增长16.2%。2
深入解析 Redis 实现分布式锁的最佳实践
煜bart
机器人 redis python
前言在分布式系统中,多个进程或线程可能会同时访问同一个共享资源,这就可能导致数据不一致的问题。为了保证数据的一致性,我们通常需要使用分布式锁。Redis作为高性能的内存数据库,提供了一种简单高效的方式来实现分布式锁。本文将深入探讨如何使用Redis来实现分布式锁,并介绍一些优化技巧和最佳实践。---一、为什么需要分布式锁?在单机环境下,我们可以使用synchronized、Lock等方式来控制并发
浏览器渲染流程
前端岳大宝
前端核心知识总结 前端 javascript
以下是关于浏览器渲染流程的系统梳理,涵盖基础原理、关键阶段、性能优化及进阶知识,帮助我们深入理解现代浏览器如何将代码转换为用户可见的像素:一、核心渲染流程(CriticalRenderingPath)浏览器渲染流程分为六个核心阶段,决定页面首次加载和更新的性能:1.构建DOM(DocumentObjectModel)过程:解析HTML生成DOM树(逐步解析,遇到可能阻塞)。阻塞因素:未添加asyn
SQL Server数据库表删除分区
MartinYangHJ
SQL Server 数据库
在SQLServer中删除分区并将表恢复到非分区状态,需按以下步骤操作:一、合并所有分区1.检查现有分区结构首先确认表的分区方案和分区函数:--查看分区方案SELECT*FROMsys.partition_schemes;--查看分区函数SELECT*FROMsys.partition_functions;2.合并所有分区将所有分区合并为一个,使数据集中在单个分区中:--假设分区函数名为`pf_D
六种方法教你将Python源代码打包成exe
xuefeng_210
python 开发语言 linux
将Python源代码打包成可执行文件(exe)是一种常见的需求,它可以使我们的程序在没有安装Python解释器的环境中运行。在本文中,我们将介绍六种常用的方法来实现这个目标,并详细说明每种方法的使用过程。cx_Freezecx_Freeze是一个用于将Python脚本打包成可执行文件的工具。它可以将Python代码和依赖的库文件一起打包,并生成一个独立的可执行文件。使用cx_Freeze的步骤如下
Python Excel操作新玩法:从零到高手掌握openpyxl
xuefeng_210
python 自动化 java
openpyxl是Python中一个强大的第三方库,用于操作Excel文件,它可以读取、写入和修改Excel文件,并且支持Excel文件中的样式、图表等元素。openpyxl使得在Python中处理Excel文件变得非常简单和高效。本文将从入门到精通地介绍openpyxl的使用方法,带你掌握在Python中处理Excel文件的技巧。目录安装和导入创建和保存Excel文件读取Excel文件写入Exc
MySQL Connector / Python
weixin_30369087
MySQLConnector/Python允许Python程序使用符合Python数据库API规范v2.0(PEP249)的API访问MySQL数据库。MySQLConnector/Python包括对以下内容的支持:几乎所有MySQLServer提供的功能都包括MySQLServer版本5.7。Connector/Python8.0也支持XDevAPI。有关使用XDevAPI的MySQLConne
java笔试题以及答案详解
weixin-80213251
javaweb 类 java class jdk
一、单项选择题1.Java是从()语言改进重新设计。A.AdaB.C++C.PasacalD.BASIC答案:B2.下列语句哪一个正确()A.Java程序经编译后会产生machinecodeB.Java程序经编译后会产生bytecodeC.Java程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的选项有()A.class中的constructor不可省略B.constructor必
Linux系统中安装各种常用中间件
Vic2334
运维 linux 中间件 运维
Linux安装docker安装docker定制软件源yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装最新版dockeryumlistdocker-ce--
GTC 2025 中文在线解读
扫地的小何尚
人工智能 NVIDIA GPU 深度学习 机器学习
GTC2025中文在线解读|CUDA最新特性与未来[WP72383]NVIDIAGTC大会火热进行中,一波波重磅科技演讲让人应接不暇,3月24日,NVIDIA企业开发者社区邀请KenHe、YipengLi两位技术专家,面向开发者,以中文深度拆解GTC2025四场重磅开发技术相关会议,直击AI行业应用痛点,破解前沿技术难题!作为GPU计算领域的基石,CUDA通过其编程语言、编译器、运行时环境及核心库
java常用排序方法集合sort
吗喽对你问好
java 开发语言 数据结构
1.Arrays.sortArrays.sort是用于对数组进行排序的静态方法,位于java.util.Arrays类中。特点:只能用于数组(包括基本类型数组和对象数组)。对基本类型数组(如int[],double[]等)使用快速排序(Dual-PivotQuicksort)。对对象数组(如Integer[],String[]等)使用归并排序(TimSort)。排序是原地进行的(即直接修改原数组)
『 C++ 』线程与原子操作:高效并发编程的利器
锐策
C++ 多线程 c++ 开发语言
文章目录为什么使用C++线程一、`C++11`std::thread`类的简单介绍1.1函数名与功能1.2`std::thread`类的简单介绍1.3线程函数参数二、线程同步与锁2.1线程同步与锁2.2死锁演示三、原子操作3.1原子操作与线程安全3.2原子操作的优势3.3CAS操作与自旋锁3.4原子操作与普通操作的汇编对比四、共享资源的线程安全问题4.1`std::shared_ptr`的线程安全
分布式中间件:Redisson 入门和分布式锁
顾北辰20
分布式中间件 分布式 中间件 redisson
分布式中间件:Redisson入门和分布式锁在分布式系统的开发中,处理并发问题是一个常见且具有挑战性的任务。为了确保数据的一致性和完整性,我们常常需要使用分布式锁。Redisson作为一个强大的分布式Java驻内存数据网格(In-MemoryDataGrid)中间件,为我们提供了简单且高效的分布式锁解决方案。本文将带你入门Redisson,并介绍如何使用它实现分布式锁。1.引入Redisson依赖
【43】单片机编程核心技巧:指针基础与应用详解
智木芯语
【编程技巧】 单片机 嵌入式硬件 #STM32 #STC8 嵌入式
【43】单片机编程核心技巧:指针基础与应用详解七律·指针寻址指针寻址变量间,间接操作更灵活。数组处理显优势,常量绑定守规则。绑定卸装需谨慎,地址自增效率高。C语言魂在指针,编程精髓需掌握。摘要本文系统阐述C语言指针的基础概念、操作方法及应用场景,涵盖指针与普通变量的对比、数组处理、常量指针特性等内容。通过代码示例与流程图解析,阐明指针的间接操作优势及内存寻址机制。文档遵循模块化设计规范,结合嵌入式
企业微信机器人与DeepSeek结合实现交互的应用案例
老胖闲聊
办公自动化 企业微信 机器人 交互
以下是一个结合企业微信机器人与深度求索(Deepseek)AIGC模型的交互式应用实现示例,包含完整代码及逐行注释:1.实现架构用户消息->企业微信服务器->自建服务端->DeepseekAPI->处理响应->返回企业微信群2.完整实现代码(deepseek_wechat_bot.py)#-*-coding:utf-8-*-importosimportjsonimportrequestsfromf
【ROS实战】02-ROS架构介绍
卓有成效的程序员
ROS ROS 机器人 人工智能
1.简介你是否曾有过这样的疑问:我按照文档安装了ROS,依照要求写了一些示例节点(node)、消息(msg)和话题(topic),但觉得过程既麻烦又繁琐。也许你开始怀疑:为什么需要ROS?它到底帮我解决了什么问题?本文将通过一个简单的例子,介绍ROS的架构,阐明它解决了哪些问题,以及它如何帮助我们简化开发流程。2.移动案例假设我们要编写一个能够控制机器人移动的程序。随着程序的增多,我们需要进行模块
开源文档管理系统教程
戚逸玫Silas
开源文档管理系统教程document-management-systemOpenKMisaOpenSourceDocumentManagementSystem项目地址:https://gitcode.com/gh_mirrors/do/document-management-system1.项目的目录结构及介绍openkm/├──src/│├──main/││├──java/││└──resour
Java常用集合与映射的线程安全问题深度解析
QQ828929QQ
java 安全 开发语言
Java常用集合与映射的线程安全问题深度解析一、线程安全基础认知在并发编程环境下,当多个线程同时操作同一集合对象时,若未采取同步措施,可能导致以下典型问题:数据竞争:多个线程同时修改数据导致结果不可预测状态不一致:部分线程看到集合的中间状态内存可见性:线程本地缓存与主内存数据不同步死循环风险:特定操作引发无限循环(如JDK7的HashMap扩容)二、典型非线程安全集合问题分析1.ArrayList
Python爬虫:数据抓取工具及类库详解
2401_84692751
程序员 python 爬虫 开发语言
wget也是一个利用URL语法在命令行环境下进行文件传输的工具,其基本用法为wget[URL地址][参数],如:wgethttps://www.baidu.com其常用参数如下:下面例子演示如何使用wget镜像一个网站到本地并启动:使用wget--mirror命令将整个网站的镜像下载到本地wget--mirror-p--convert-linkshttp://www.httpbin.org切换到下
CSS的滑动门技术
xiao____ming
html5 css3
在制作导航栏等网页元素时,常常需要为其设置特殊形状的背景,为了使各种特殊形状的背景能够自适应元素中文本的多少,即实现自由拉伸滑动,就出现了CSS滑动门技术。微信的导航栏:滑动门简单使用:Documenta{display:inline-block;height:33px;line-height:33px;background:url(to.png)no-repeat;margin:100px;pa
深度学习与目标检测系列(三) 本文约(4万字) | 全面解读复现AlexNet | Pytorch |
小酒馆燃着灯
深度学习 目标检测 pytorch AlexNet 人工智能
文章目录解读Abstract-摘要翻译精读主要内容1.Introduction—前言翻译精读主要内容:本文主要贡献:2.TheDataset-数据集翻译精读主要内容:ImageNet简介:图像处理方法:3.TheArchitecture—网络结构3.1ReLUNonlinearity—非线性激活函数ReLU翻译精读传统方法及不足本文改进方法本文的改进结果3.2TrainingonMultipleG
自动跳动滑动门html,CSS如何实现滑动门效果_html/css_WEB-ITnose
空谷幽兰月影寒
自动跳动滑动门html
CSS如何实现滑动门效果:所谓的滑动门和tab选项卡其实是一个意思,下面就通过实例介绍一下如何实现此功能,代码实例如下:以上代码实现了最基本的滑动门效果,这也是在引用的网络上的一个例子。下面就简单介绍一下如何实现的此功能:一.在头部使用四个p元素制作导航标题,并且使用左浮动让四个p元素在一行排列,同时设置了后面三个的默认CSS属性。二.在轮换内容方面,直接就是罗列显示了几个span元素而已,大家可
css+html应用实例1:滑动门技术的简单实现
weixin_30639719
关于滑动门,现在的页面中好多地方都会用到滑动门,一般用作于导航背景,它的官方解释如下:滑动门:根据文本自适应大小,根据背景的层叠性制作,并允许他们在彼此之上进行滑动,以创造出一些特殊的效果。为什么很多人喜欢用滑动门呢,因为有些时候导航的字体长度不一致,长长短短实在不好弄背景图片之类啥的,如果单独根据不同的长度调用不同的背景图片太麻烦不说服务器压力也太大,所以滑动门技术应运而生,它可以根据元素本身的
Java复习路线
Code good g
面试准备 java mysql 数据库
Java复习1、Java基础2、Java多线程3、Javaweb的复习4、MySql复习数据库常用的代码:思维导图:5、计算机组成原理6、网络编程7、Java注解和反射8、计算机网络9、html/css/js10、ssm11、spring12、springmvc13、springboot14、vue15、springcloud16、jvm17、Juc18、mybatis-plus学习19、git2
单调栈详解【C/C++】
ん贤
算法 单调栈 算法 c++ 数据结构 贪心算法
前言:了解过单调队列后,你会发现单调栈的思想其实挺简单...当然前提是要了解一下什么是栈(stack)。看待一个问题,从不同角度,也许能有不同的收获。在数学家眼中,单调栈本质上是一个严格或非严格维护的单调递增或单调递减的数学结构。其核心在于动态的维护动态递增或递减的有序关系。而对于算法工程师,他们首先关注单调栈的核心优势:O(n)的时间复杂度。在需要遍历序列,并纪录极值的情况下(如接雨水、每日温度
优先队列 priority_queue详解
ん贤
算法 数据结构 算法 优先队列 c++ java
说到,priority_queue优先队列。必须先要了解啥是堆与运算符重载(我在下方有解释)。否则只知皮毛,极易忘记==寸步难行。但在开头,还是简单的说下怎么用首先,你需要调用#include在main函数中,声明格式为:priority_queue队列名;priority_queuei;priority_queued;常用操作priority_queuep;p.size();//获取长度p.em
24远景能源-动力,10月最后一周面试!【NTAKYsW】
2301_79125642
java
大模型公司收实习啦,入局好机会,全是大佬不卷后端研发实习生简历投递请联系我,牛客会屏蔽邮箱日常实习:面向全体在校生,为符合岗位要求的同学提供为期3个月及以上的项目实践机会。公司介绍下午移动笔试,晚上联通笔试我看到好多投移动都去面试了,但是我没有面试也没有任何消息,而且智联校园上面hr也没有查看,这是怎么回事,难道是随便发的笔试吗...应该投的是什么AI研究中心联通许愿美团商分octl:一面-10.
23种设计模式-抽象工厂(Abstract Factory)设计模式
程序员汉升
# 设计模式 设计模式 java 抽象工厂模式
抽象工厂设计模式什么是抽象工厂设计模式?抽象工厂模式的特点抽象工厂模式的结构抽象工厂模式的优缺点抽象工厂方法的Java实现代码总结总结什么是抽象工厂设计模式?抽象工厂模式(AbstractFactoryDesignPattern)是一种创建型设计模式,它提供了一种方式来创建一系列相关或相互依赖的对象,而无需指定它们的具体类。与工厂方法模式的区别在于,抽象工厂模式通常用于处理产品族的创建,确保创建的
Caffeine vs Guava Cache:性能巅峰对决,谁才是 Java 本地缓存之王?
Julian.zhou
Java 开发基础技能 缓存 java 算法
CaffeinevsGuavaCache:性能巅峰对决,谁才是Java本地缓存之王?导语:在Java本地缓存的战场上,Caffeine和GuavaCache是开发者最常用的两大神器。但究竟谁的性能更胜一筹?为何Caffeine被称为“GuavaCache的终结者”?本文通过算法原理、并发性能、内存管理、实战测试四大维度,彻底揭秘两者的性能差异,文末附迁移指南和选型建议!一、核心差异:算法与淘汰策略
PHP如何实现二维数组排序?
IT独行者
二维数组 PHP 排序
二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:
代码:
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr
【Hadoop十七】HDFS HA配置
bit1129
hadoop
基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
由wsdl生成的java vo类不适合做普通java vo
darrenzhu
VO wsdl webservice rpc
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如Li
JAVA海量数据处理之二(BitMap)
周凡杨
java 算法 bitmap bitset 数据
路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢? 啊哈!算法。这里采用了 BitMap 思想。
首先来看一个实验:
指定 VM 参数大小: -Xms256m -Xmx540m
java类型与数据库类型
g21121
java
很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。
&nb
Linux命令
510888780
linux命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示C
java常用JVM参数
墙头上一根草
java jvm参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2
我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
aijuans
Spring 3
方法一:
<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory"
factory-method="createMusicBoxStatic"></bean>
方法二:
mysql查询性能优化之二
annan211
UNION mysql 查询优化 索引优化
1 union的限制
有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
查询的优化上。
如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
合并结果集的话,就需要在union的各个子句中分别使用这些子句。
例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys
数据的备份与恢复
百合不是茶
oracle sql 数据恢复 数据备份
数据的备份与恢复的方式有: 表,方案 ,数据库;
数据的备份:
导出到的常见命令;
参数 说明
USERID 确定执行导出实用程序的用户名和口令
BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE 指定导出的二进制文
线程组
bijian1013
java 多线程 thread java多线程 线程组
有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。
线程组可以用来同时对一组线程进行操作。
创建线程组:ThreadGroup g = new ThreadGroup(groupName);
&nbs
top命令找到占用CPU最高的java线程
bijian1013
java linux top
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
【持久化框架MyBatis3四】MyBatis3一对一关联查询
bit1129
Mybatis3
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询
One-To-One示例数据
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的
学生表
CREATE TABLE STUDENTS
(
C/C++图片或文件的读写
bitcarter
写图片
先看代码:
/*strTmpResult是文件或图片字符串
* filePath文件需要写入的地址或路径
*/
int writeFile(std::string &strTmpResult,std::string &filePath)
{
int i,len = strTmpResult.length();
unsigned cha
nginx自定义指定加载配置
ronin47
进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
liste
java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方
bylijinnan
double
public class Power {
/**
*Q71-数值的整数次方
*实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
*/
private static boolean InvalidInput=false;
public static void main(
Android四大组件的理解
Cb123456
android 四大组件的理解
分享一下,今天在Android开发文档-开发者指南中看到的:
App components are the essential building blocks of an Android
[宇宙与计算]涡旋场计算与拓扑分析
comsci
计算
怎么阐述我这个理论呢? 。。。。。。。。。
首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。
我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的
同一个Tomcat不同Web应用之间共享会话Session
cwqcwqmax9
session
实现两个WEB之间通过session 共享数据
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下:
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme
springmvc Spring3 MVC,ajax,乱码
dashuaifu
spring jquery mvc Ajax
springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实
搭建WAMP环境
dcj3sjt126com
wamp
这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。
工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-
yii2 使用raw http request
dcj3sjt126com
http
Parses a raw HTTP request using yii\helpers\Json::decode()
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class:
'request' =&g
Quartz-1.8.6 理论部分
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建;
什么是quartz?
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp
什么是POJO?
gupeng_ie
java POJO 框架 Hibernate
POJO--Plain Old Java Objects(简单的java对象)
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber
jQuery网站顶部定时折叠广告
ini
JavaScript html jquery Web css
效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<
Spring boot内嵌的tomcat启动失败
kane_xie
spring boot
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif
leetcode: sort list
michelle_0916
Algorithm linked list sort
Sort a linked list in O(n log n) time using constant space complexity.
====analysis=======
mergeSort for singly-linked list
====code======= /**
* Definition for sin
nginx的安装与配置,中途遇到问题的解决
qifeifei
nginx
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install
安装的时候出现
用枚举来处理java自定义异常
tcrct
java enum exception
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage
public
erlang supervisor分析
wudixiaotie
erlang
当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那