数据库创建出来之后,建议不要修改计算机名称,否则数据库在修改计算机名称之后就不能找到本地服务器名称。
如果想链接其他在同一个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 s