IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL server数据库 -> 正文阅读

[大数据]SQL server数据库

有错请指出

SQL server基础知识

SQL server命令

1.1.1创建数据库

1.创建数据库

//通过设计器创建新建查询编写命令

use master
go

create database database_name
on [primary]
(
    /*因此name里面得文件名路径的文件名可以不一样,路径的文件名是存储于磁盘的逻辑名*/
	name = 'database_name_data',  --主数据文件名,是数据库执行SQL语句引用得逻辑文件名
    filename = 'd:\database_name.mdf',    --主文件得路径,以mdf文件格式
    size = 5,
    maxsize = 50,
    filegrowth = 5
)
log on
(
    --日志文件
	name = 'daba_log_name',
    filename = 'd:\database_log.ldf'
    size = 5MB,
    maxsize = 50MB,
    filegrowth = 5MB
)



database_name:数据库的名称
on:用于指定存储数据库数据部分的磁盘文件清单
log on:指定存储事务日志的磁盘文件清单
primary:指定 包括数据的逻辑起点和系统表的主文件,若缺省,则为列出的第一个文件
name:SQL server执行SQL语句引用的逻辑文件
filename:指定操作系统下数据库存储文件名字,扩展名为mdf或ldf
size:指定数据库最初的存储大小
maxsize:指定数据库可使用的最大存储空间,若指定unlimited,则能在磁盘指定的范围内不断的扩大
filegrowth:指定数据库增长的数量,默认值为256KB,最小值64KB。设置为0,则不增长。

1.1.2查看数据库

exec sp_helpdb student   --查看学生数据库的信息或者属性
go

1.2修改数据库

1.2.1修改数据库名


alter database student
modify name = stu          --将学生数据库的名字更改为stu
go


--或者使用系统存储过程修改数据库名
exec sp_renamedb 'stu','student'    --将数据库stu修改为student
go

1.2.2增加数据库文件


alter database 数据库名
add 主数据文件名/日志文件名      --注意文件名指的是创建数据库时name后面的文件名
(
	name = '主数据文件名',
    filename = '主数据文件物理路径名',
    size = '默认数据库大小',
    maxsize = '最大容量'
    filegrowth = '增长量'
)
go

1.2.3增加数据库空间


alter database 数据库名
modify file
(
	name = '主数据文件名',
    szie = '默认数据库大小',
    maxsize = '最大容量'
)
go

1.3删除数据库

两种方法


--sql语句
drop database 数据库名
go


或者

alter database 数据库名
modify file 主数据文件名         --再次重申,主数据文件名指的是创建数据库时name后面的名字
go


2.1创建数据表


--字段名也称列名

create table 表名
(
	字段名一 数据类型 字段约束,
    字段名二 数据类型 字段约束
    ....
)
go

创建一个学生表
create table students
(
    sno int primary key,
    sname varchar(32) not null,
    ssex char(2) not null check(ssex = '男' or ssex = '女'),
    class char(8) not null check(class like '2020[0-9][0-9][0-9][0-9]')
)
go

此例使用的check约束和主键约束,check里面是一个条件表达式,如第一个check,就要使新添加的学生的性别必须填男或女

而第二个check约束使用了like模糊查询,这样为学生添加班级的,前4个数字规定使2020,后面使0-9之间选择





创建一个班级表
create table class
(
	class_id int not null,
    sno int not null,
    class_num int not null,
    [constraint 主键名] primary key(class_id,sno),  --这里是联合主键
    [constraint check_name] check(class_num > 0),
    [constraint default_name] default(1) for class_num 
)
go

如果将约束写在字段约束后面,就不能写约束名,因此写创建表的后面可以constraint语句增加一个名字,当然也可以不写


常见的约束

? 字段约束默认为null,也就是可以为空
? 非空约束 :not null
? 主键约束:primary key
? 外键约束:references
? 检查约束:check
? 唯一约束:unique

2.2修改数据表

2.2.1增加列


增加列
alter table 表名 
add 电话 char(11) not null      --给表添加一个电话字段
go

2.2.2修改字段属性或者约束



修改列得数据类型

alter table table_name
alter column 字段名 新数据类型
go


例:将学生表的姓名字段的数据类型修改为char(16)
alter table students 
alter column sname char(16)
go

-----------------------------------------------------

修改约束
alter table table_name 
alter column 字段名 数据类型 新数据约束
go


例:将学生表姓名字段的非空约束修改为空约束
alter table students
alter column sname char(16) null
go

------------------------------------

修改约束和修改数据类型是可以同时写
alter table table_name 
alter column 字段名 新数据类型 新数据约束
go


2.2.3修改列名或者属性名和数据表名


使用存储过程修改

修改属性名
exec sp_rename '数据库名.旧属性名','新属性名'
go

exec sp_rename 'stu.Sname','sname'
go


修改表名
exec sp_rename '旧表名','新表名'
go

exec sp_rename 'students','Students'
go






2.3删除表


drop table table_name



ag:删除学术表

drop table students


3.insert语句

3.1.insert语句的基本用法


两中写法

第一种,左边必须包含表的所有属性
insert into table_name values (field1,field2,field3...),(values1,values2,values3...),(values1,values2,values3...)...



第二种,左边可以允许只包含表的部分属性,就是一条记录只插入一写属性,应当注意表结构非空约束
insert into table_name (field1,field2...) values (values1,values2...),
(values1,values2...)....


3.2.insert语句的拓展用法

1.将从一张表中查询的内容直接插入到与之表结构一样的表中

表已存在
insert into table_name1 select * from table_name2
go

表未存在
select * into new_table from table_name
go



加入我们要将表结构复制到新表应该怎么写
假如将学生表的表结构复制,
select * into new_table table_name where sno is null --sno是属性
go



  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:23:14  更:2021-11-29 16:24:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 3:17:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码