热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java零基础入门:SQLServer学习笔记(第21篇)

SQL_Server

数据库安装完成之后,那么需要对应的启动数据库,在启动之前,需要保证数据的服务处于开启状态:在服务中-SQL server处于运行状态

数据库创建出来之后,建议不要修改计算机名称,否则数据库在修改计算机名称之后就不能找到本地服务器名称。

如果想链接其他在同一个ip段的数据库,那么你就应该对数据库的ip的支持进行配置,需要启用服务端和客户端的TCP/IP的设置,并且需要设置端口号,SQL Server默认的端口号为1433mysql的端口号为:3306oracle的端口号为:1521,配置过程如下:

1

java 从零开始,学习笔记之基础入门<SQL_Server>(二十一)

2:

java 从零开始,学习笔记之基础入门<SQL_Server>(二十一)

3

java 从零开始,学习笔记之基础入门<SQL_Server>(二十一)

服务器端的配置完成,客户端的配置也需要保证TCP/IP协议的启动

java 从零开始,学习笔记之基础入门<SQL_Server>(二十一)

配置完成之后,你需要让你的配置生效,则需要重新启动Sql Server服务。

如果你想链接其他人的数据库,那么你需要知道的条件:链接数据库的IP、链接的数据库名,链接数据库的密码

如果数据库安装不成功,或者需要重装?

1.重装系统重装数据库(不推荐)

2. 重装数据库步骤如下:

²停止数据库的所有服务,在添加和删除程序中,卸载sqlserver程序

²卸载完成之后,删除sqlserver在物理磁盘的文件目录

²卸载服务

²卸载注册表信息,regedit打开注册表编辑器找到HKEY_CURRENT_USERHKEY_LOCAL_MACHINE,对应的在Software这个文件夹下删除所有与sqlserver有关的注册表信息。

²删除之后,重启电脑,重装安装

用户登录:

可以采用windows身份验证,用计算机名和空密码进行登录

也可以采用sqlserver身份验证,采用默认的sa用户设置的密码进行登录

修改密码:

如果sa用户密码忘记了,则可以采用windows身份验证登录之后修改sa的密码

用户登录成功之后:

可以看到在数据库的文件夹,有数据库和数据库快照文件夹

系统数据库文件夹存放的是数据库安装完成之后,自带安装的4个数据库

Master 从整体上控制用户数据库和sqlserver操作

Msdb 用来存储作业,报警等信息

Model 模型数据库

Temp 临时数据库,用来存储临时信息

当前用户登录的时候默认的使用是master数据库

我们也可以创建自己的数据库,创建的数据库就存放在当前用户下的文件夹下,谁创建的数据库,那么创建的数据库就属于谁,其他人不能访问,除非被其他人授权。

创建用户自带的数据库:一种是使用命令一种是使用图形化界面

在开始->运行-输入sqlcmd -H host -U sa -P 123进入的窗口是命令窗口

Sqlcmd –U sa 回车提示输入密码 123

Sqlcmd window 用户

此种操作是开启一个dos窗口,对数据库的操作都是使用的命名,没有图形化界面

SQL语言

SQL语言功能极其强大,但由于设计巧妙、语言十分简捷,完成核心功能只用了9个动词,如下表所示

SQL功能

动词

数据查询

SELECT

数据定义DDL

CREATEALTER DROP

数据操纵DML

INSERTUPDATEDELETE

权限控制DCL

GRANTREVOKE

数据库语言的常用操作:

--一个数据库,数据库名叫ibm

create database ibm;

--如果你需要对哪个数据库进行操作,在操作之前需要将数据库处于选定状态

use ibm;

--删除一个数据库ibm

--正在使用的数据库不能够被删除

drop database ibm

--ibm这个数据库中创建表

--那么你就应该知道表中的数据类型

--表中包括:字段名、字段类型、主键、唯一健、外键、是否为空、默认值

--字段名:在一张表中字段名不能有重复、字段名不能为数据库关键字、字段名中不能包含非法字符

--数据类型:intvarchar()datemoney()varchar2()float

--主键用来标示表中字段的唯一健,一般和外键关联,达到链接两张表的操作主键一般设置自动增长

--唯一健用来标示表中字段插入的值在表中唯一存在

--外键,是用来关联两张表

--是否为空,是用来对某一个字段设置能不能为空

--默认值是指如果你不给某一个字段赋值,那么该字段就采用默认设置的值

--创建一张表表名 tb_student

--sid 整型(int)主键自增长

--sname 字符型varchar(n)不能为空

--sbirth datatime 可以为空

--sclass varchar 可以为空如果班级不设置则默认为java1000

--创建表的语法格式 create table表名(字段类型修饰,字段类型修饰... ...);

create table tb_student(

sid int identity(1,1),

sname varchar(16)not null,

sbirth datetime,

sclass varchar(16)default 'java1000',primarykey(sid)

);

--往创建的表中插入条语句

--插入语句的格式insert into表名(字段,字段,字段) values('','','')

--如果一个表中存在主键,主键自动增长之后,主键不需要插入值会自动的添加

insert into tb_student(sname,sbirth,sclass)values('admin',getdate(),'java1002');

--tb_student表中增加一个字段aage int此时增加的字段的值全部为空

alter table tb_studentadd sage int;

--删除表中的一个字段

alter table tb_studentdrop column sage;

select * from tb_student;

--查询表中的某一列的信息

select sname from tb_student;

--根据id查询某一列的记录

select *from tb_student where sid=3;

--查询java1000班的学生

select *from tb_student where sclass='java1000';

--根据sid值的大小查询出来的结果倒序显示 desc(降序) asc(升序)

select *from tb_student orderby sid desc;

select *from tb_student orderby sid asc;

--模糊查询 like %(匹配所有) _(占有符号)

--查询班级名为java开头的所有班级

select *from tb_student where sclasslike 'java%';

--查询以命名的班级

select *from tb_student where sclasslike '%1002';

select *from tb_student where sclasslike '____1002';

select *from tb_student where sclasslike 'net____';

--更新 update表名set 字段名= '修改之后的值',字段名='修改之后的值' where 条件

--id为的那条记录的sclass改为net1205

update tb_student set sclass = 'net1205'where sid = 5;

--一次将一条记录中的所有的字段都改主键的值可不可以改?

update tb_student set sname = 'IBM',sbirth= getdate(),sclass='aaaa'where sid =1;

--删除delete from表名where 条件表示删除表中符合条件的记录

--删除sid=8的那条记录

delete from tb_studentwhere sid=8;

--删除多条删除id>5的记录

delete from tb_studentwhere sid>=3;

--清空表中的数据表还存在知识数据没了

truncate table tb_student;

--删除一张表,表中的数据和表在数据库中都删除

drop table tb_student;

select *from tb_student;

SQL Server的常用函数

索引

--创建一张表tb_student(sid name,score,sclass,startschool)

create table tb_student(

sid int identity(1,1),

sname varchar(32)not null,

score int default 0,

sclass varchar(32),

startschool datetime,

primary key(sid),

);

--往其中插入条记录

insert into tb_student(sname,score,sclass,startschool)

values('es',80,'天灾',getdate());

insert into tb_student(sname,score,sclass,startschool)

values('bs',90,'天灾',getdate());

insert into tb_student(sname,score,sclass,startschool)

values('cs',30,'近卫',getdate());

insert into tb_student(sname,score,sclass,startschool)

values('as',40,'近卫',getdate());

--聚合函数

--count 用来取出表中有多少条记录

select count(*)from tb_student;

select count(*) as'数据条数'from tb_student;

select count(1) from;

--sum求和函数对某一列的值进行求和

select sum(score)as '总成绩'from tb_student;

--avg求平均数的函数,对某一列的值进行求平均数

select avg(score)as '平均成绩'from tb_student;

--max求最大值对某一列的值进行求最大值运算

select max(score)as '最高分'from tb_student;

--min 求最小值对某一列的值进行求最小值运算

select min(score)as '最低分'from tb_student;

--日期和时间函数

--取到系统时间

select getdate() as'时间';

--取到系统时间的部分事件

select DATEPART(yyyy,getdate())as '年份';

select DATEPART(MM,getdate())as '月份';

select DATEPART(hh,getdate())as '小时';

select DATEPART(minute,getdate())as '分钟';

--用来改变取到的系统的时间

select DATEADD(yyyy,-20,getdate())as '20年前';

select DATEADD(dd,-1,getdate())as '昨天';

--DATEDIFF

select DATEDIFF(dd,'2012-1-28','2012-2-28');

--求你出生到现在有多少天

select DATEDIFF(dd,'2000-2-1','2012-2-28')as '你出生的天数';

--字符函数

--CHAR 返回对应的字符的ASSIC码值

select char(68);

--ASCII装换成数字

select ASCII('A');

--LEET('',N);

select LEFT('IBM',3)as '333';

select RIGHT('IBM',3)

--返回指定字符串的长度(字符串尾随空格不计算)

select len('IBM');

select len(' i b m ');

--字符串的截取(表示从第三个位置开始截取两个长度的字符串,包括开始位置)

select substring('IBM',3,2);

--索引的用处:

--索引的创建一般是用来提高数据的查询效率,

--设置数据的合法性

--唯一索引:读表中的某一个或者多个字段设置成唯一索引,那么设置的字段不能有重复的数据

--创建唯一索引的语法格式:

--create unique index 唯一索引名on

-- 表名(字段,字段);

--在表的sname列上建立唯一索引

create uniqueindex uname on tb_student(sname);

--如果想一次建立多个列的唯一索引则只需要在sname后面添加即可

create uniqueindex uname on tb_student(sname,sclass);

--建立唯一索引之后无法插入有相同值的列索引名不能重复

insert into tb_student(sname,score,sclass,startschool)

values('es',80,'中立一班',getdate());

delete from tb_studentwhere sid=5;

--聚簇索引:聚簇索引的顺序与表中的物理顺序一致

--聚簇索引一般建立在最常查询的列上,但是列中纪录的改变会改变纪录的顺序值

--聚簇索引一般建立在主键上

--一张表中最多只能存在一个聚簇索引

--建立一个聚簇索引的语法格式

--create CLUSTERED index 聚簇索引名on表名(主键列名);

create clusteredindex onlyindex on tb_student(sid);

--删除一个索引删除指定表的索引

--drop index 表名.索引名

--删除刚刚建立的聚簇索引

drop index tb_student.onlyindex;

--索引不能够进行修改,所以你要修改一个表上的索引,是先删除索引,再创建对应的索引


推荐阅读
  • 在基于.NET框架的分层架构实践中,为了实现各层之间的松散耦合,本文详细探讨了依赖注入(DI)和控制反转(IoC)容器的设计与实现。通过合理的依赖管理和对象创建,确保了各层之间的单向调用关系,从而提高了系统的可维护性和扩展性。此外,文章还介绍了几种常见的IoC容器实现方式及其应用场景,为开发者提供了实用的参考。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 开发日志:在插入数据到一张表的同时更新另一张表的技术细节与最佳实践 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 《精通 jQuery》第六章:深入解析与实战应用
    《精通 jQuery》第六章:深入解析与实战应用本章详细探讨了 Ajax 技术的核心机制及其实际应用。Ajax 通过 XMLHttpRequest 对象实现客户端与服务器之间的异步数据交换,从而在不重新加载整个页面的情况下更新部分内容。这种技术不仅提升了用户体验,还提高了应用的响应速度和效率。此外,本章还介绍了如何利用 jQuery 简化 Ajax 操作,并提供了多个实战案例,帮助读者更好地理解和掌握这一重要技术。 ... [详细]
  • 如何在PHP中有效实现和管理互斥锁机制(PHP锁) ... [详细]
  • Spring Security 认证模块的项目构建与初始化
    本文详细介绍了如何构建和初始化Spring Security认证模块的项目。首先,通过创建一个分布式Maven聚合工程,该工程包含四个模块,分别为core、browser(用于演示)、app等,以构成完整的SeehopeSecurity项目。在项目构建过程中,还涉及日志生成机制,确保能够输出关键信息,便于调试和监控。 ... [详细]
  • C#编程指南:实现列表与WPF数据网格的高效绑定方法 ... [详细]
  • MongoVUE基础操作指南:轻松上手数据库管理
    本文介绍了MongoVUE的基础操作,旨在帮助用户轻松掌握数据库管理技巧。MongoVUE是一款功能强大的MongoDB客户端工具,虽然需要注册,但其用户友好的界面和丰富的功能使其成为许多开发者的首选。文中详细解释了安装步骤、基本配置以及常见操作方法,并对一些常见的问题进行了修正和补充,确保用户能够快速上手并高效使用MongoVUE进行数据库管理。 ... [详细]
  • 在Python网络编程中,多线程技术的应用与优化是提升系统性能的关键。线程作为操作系统调度的基本单位,其主要功能是在进程内共享内存空间和资源,实现并行处理任务。当一个进程启动时,操作系统会为其分配内存空间,加载必要的资源和数据,并调度CPU进行执行。每个进程都拥有独立的地址空间,而线程则在此基础上进一步细化了任务的并行处理能力。通过合理设计和优化多线程程序,可以显著提高网络应用的响应速度和处理效率。 ... [详细]
  • 本教程旨在为HTML5初学者提供Canvas画布的基础知识与实践指导。通过详细解析Canvas元素的使用方法、绘图API及常见图形绘制技巧,帮助读者快速掌握在网页中利用Canvas进行动态图形创作的基本技能。 ... [详细]
  • 本文深入探讨了数据库性能优化与管理策略,通过实例分析和理论研究,详细阐述了如何有效提升数据库系统的响应速度和处理能力。文章首先介绍了数据库性能优化的基本原则和常用技术,包括索引优化、查询优化和存储管理等。接着,结合实际应用场景,讨论了如何利用容器化技术(如Docker)来部署和管理数据库,以提高系统的可扩展性和稳定性。最后,文章还提供了具体的配置示例和最佳实践,帮助读者在实际工作中更好地应用这些策略。 ... [详细]
author-avatar
手机用户2502913623
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有