一、定义(是什么)
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL Server是由Microsoft开发和推广的关系数据库管理系统(RDBMS)。
二、面向对象(干什么)
SQL Server:一般做中小型数据库,用于中小型网站,以及个人使用 ,商业收费
三、相关操作(怎么干)
1.数据库的操作
-
数据库的创建
方式一:数据库图形化管理工具创建数据库步骤:右键点击数据库-》点击新建数据库-》输入数据库名称,可自定义数据库所有者(设置哪些人可以使用数据库)、逻辑名称、初始大小(数据库初始化大小)、自增长大小(数据库新增数据的时候以每次多大存储量增长)、路径(数据库数据文件路径,关系到以后的数据库备份,迁移,还原等操作)、文件名(数据库的文件名称)、日志等属性,左上角的选项和常规可以使用系统默认的-》点击确定即可创建数据库
方式二:数据库脚本创建数据库步骤:编写脚本-》在数据库管理工具中执行脚本-》刷新数据库即可显示;
1 --创建数据库
2 create database testss
3 on
4 (
5 name='testss',
6 filename='D:\SqlTest\blog\testss.mdf',
7 size=10240kb,
8 maxsize=102400kb,
9 filegrowth=1024kb
10 )
11 log on
12 (
13 name='testlog',
14 filename='D:\SqlTest\blog\testlog.ldf',
15 size=10240kb,
16 maxsize=102400kb,
17 filegrowth=1024kb
18 )
19 go
创建结果示例如下:
-
数据库删除
方式一:直接在数据库管理工具中右键-》选择删除
方式二:在数据库管理工具中数据脚本:drop database 数据库名
-
数据库修改
方式一:选中数据库-》右键-》选择重命名-》输入数据库新名称
方式二:在数据库管理工具中输入脚本修改:exec sp_renamedb 'testss','test1'或者alter database test1 modify name=test2
-
数据库查看
方式一:在数据库管理工具中选中数据库-》右键属性-》查看数据库相关配置信息
方式二:在数据库管理工具中输入数据库脚本查看,一下列举几种常用的数据库查看信息
--使用目录视图查看数据库信息
--使用sys.database_files查看有关数据库文件的信息
select * from sys.database_files;
--使用sys.filegroups查看有关数据库组的信息
select * from sys.filegroups;
--使用sys.master_files 查看数据库文件的基本信息和状态信息
select * from sys.master_files;
--使用sys.databases 数据库和文件目录视图查看有关数据库的基本信息
select * from sys.databases where name='testss';
--使用函数查看数据状态
use testss
select databasepropertyex('test2','Status') as 'test数据库状态'
2.数据表的创建(create table 表名)
在创建数据表之前,需要有一个数据库,我这里已经提前创建好了,数据库的名字为students(不会创建数据库的,请查看我的博客中 SQL Server的数据库创建、修改、查询、删除)
创建好数据库以后,我们需要先把数据库打开(有人也叫选中数据库)
打开数据库语法: use 数据库名(服务器内的名称)
use students
创建数据表语法:
create table 表名称
(
列名1 数据类型1 约束1,
列名2 数据类型2 约束2,
列名3 数据类型3 约束3
)
列名不要重复
每一个列都要用 , 分开,只有最后一列不是必要的
约束 语法
非空约束: not null
标示列,自动增长约束: identity(标识种子,增长量)
默认: default 默认值
主键约束: primary key
外键约束: foreign key (外键表引用的id) references 主表名(主表主键)
检查约束: check(条件)
关于约束的使用方法我这里就不过多叙述了,想详细了解的请查看我博客中专门介绍约束的文章,这里我会稍微使用一下约束,对不了解约束的人的影响不大
下面我们先创建一个名为 stuinfo 的学生信息表
-
create table stuinfo --创建学生信息stuinfo表
-
(
-
--创建列开始
-
sid int primary key, --sid 学生编号 类型int 主键
-
sname nchar(8) not null, --sname 学生姓名 类型nchar(8) 非空
-
saddress nvarchar(30), --saddress 学生地址 类型nvarchar(30)
-
sclass int, --sclass 学生班级 类型int
-
ssex nchar(1) --ssex 学生性别 类型nchar(1)
-
)
这样就创建好了
SELECT * FROM sysobjects WHERE (xtype = 'U')
-
数据表的修改
(修改数据表的名字)
语法: sp_rename oldname,newname
把stuinfo改成stu
EXEC sp_rename stuinfo , stu
表的删除(drop table 表名)
drop是丢弃的意思,drop table表示将一个表彻底删除掉。
删除stu表:
drop table stu
3.数据库中列的操作
-
列的增加
在创建数据表之前,需要有一个数据库,我这里已经提前创建好了,数据库的名字为students
创建好数据库以后,我们需要先把数据库打开(有人也叫选中数据库)
打开数据库语法: use 数据库名(服务器内的名称)
use students
然后创建一个数据表
-
create table stuinfo --创建学生信息stuinfo表
-
(
-
--创建列开始
-
sid int primary key, --sid 学生编号 类型int 主键
-
sname nchar(8) not null, --sname 学生姓名 类型nchar(8) 非空
-
)
接下来正式给表中增加列:
语法:
alter table 表名
add 列名 数据类型 约束
-
alter table stuinfo
-
add sex int not null default 0
-
数据表中列的查询
1.sp_help 表名
sp_help stuinfo
sp_columns stuinfo
语法: exec sp_rename '表名.原列名','新列名','column';
exec sp_rename 'stuinfo.sex','ssex','column';
语法: alter table 表名 alter column 列名 数据类型 not null
alter table stuinfo alter column sname nvarchar(10) not null
语法: alter table 表名 drop column 列名