热门标签 | 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;

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


推荐阅读
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社区 版权所有