您的位置:首页 > 编程语言 > Java开发

[原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server>(二十一)

2013-11-22 10:52 976 查看
SQL_Server

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

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

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

1:



2:



3:



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



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

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

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

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

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

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

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

² 卸载服务

² 卸载注册表信息,regedit打开注册表编辑器 找到HKEY_CURRENT_USER 和HKEY_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

CREATE、ALTER、 DROP

数据操纵DML

INSERT、UPDATE、DELETE

权限控制DCL

GRANT、REVOKE

数据库语言的常用操作:

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

create database ibm;

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

use ibm;

--删除一个数据库ibm

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

drop database ibm

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

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

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

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

--数据类型:int、varchar()、date、money()、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;

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

作者:lulu147 发表于2013-11-22 10:51:48 原文链接

阅读:366 评论:2 查看评论
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐