首页 > 数据库 >sql-server

sql-server

时间:2024-08-29 17:40:29浏览次数:10  
标签:CK -- SNO 数据库 server sql null JNO

数据库常用对象

  1. 表 包含数据库中所有数据的对象,行和列组成,用于组织和存储数据。
  2. 字段 表中的列 一个表可以有多个列,自己的属性: 数据类型(决定了该字段存储哪种类型的数据),大小(长度)。
  3. 视图 表 (虚拟表)一张或多张表 用户查看数据的一种方式,结构和数据是建立在对表的查询基础之上的。
  4. 索引 为了给用户提供一种快速访问数据的途径,索引是依赖于表而建立的。
  5. 存储过程 是一组为了完成特定功能的SQL语句的集合(可以查询、插入、修改、删除),编译后,存储在数据库中,以名称进行调用,当调用执行时,这些操作就会被执行。
  6. 触发器 在数据库中,属于用户定义的SQL事务命令集合,针对于表来说,当对表执行增删改操作时,命令就会自动触发而去执行。
  7. 约束 对数据表的列,进行的一种限制。可以更好的规范表中的列。
  8. 缺省值 对表中的列可以指定一个默认值。

数据类型

数值型:

  • 整型类型: bigint int smallint tinyint

  • 浮点型: float 近似数值 存在精度损失 real 近似数值

    ​ decimal 精确数值 不存在精度损失 decimal(18,2)

  • 货币类型: money smallmoney

字符型:

  • char 固定长度 8000
  • varchar 可变长度字符串 8000
  • text 可变长度的字符串 最多2GB字符数据
  • unicode字符串
    • nchar 4000
    • nvarchar 4000
    • ntext 可变长度的Unicode数据 最多2GB数据

日期类型:

  • datetime 精确度高 3.33毫秒
  • datetime2 精确度更高 100纳秒
  • smalldatetime 精度1分钟
  • date 仅存储日期
create database CK 
on
(name='CK_Data',		--数据库CK的逻辑文件名,在sql server系统中使用
filename='d:/data/ck_data.MDF',  --数据库CK的物理文件名,在操作系统中使用
size=10,                 --数据库CK的文件大小为10MB
filegrowth=10%,          --数据库按10%增长
maxsize=unlimited)       --数据库最大增长无限制,此句无逗号。
log 
on
(name='CK_log',          --日志文件的逻辑文件名
filename='d:/data/ck_data_log.LDF',  --日志文件的物理文件名
size=5,                  --日志文件的大小为5MB
filegrowth=1,            --日志文件1MB增长
maxsize=15)              --数据库日志文件最大为15MB,此句无逗号。
--修改CK数据库的数据库文件"CK_data"的大小增加到300MB,日志文件"CK_log"的大小增加为100MB
alter database ck
modify file
(name=ck_data,
size=300MB)
alter database CK
modify file
(name=ck_log,
size=100MB)

结构化查询语言

创建数据库

创建数据库

--创建数据库
CREATE DATABASE CK COLLATE Chinese_PRC_CI_AS;

创建供应商表S

--创建供应商表S
use CK
create table S(
SNO char(4) not null,
SNAME varchar(20) null,
SADDR varchar(30) null,
primary key(SNO)
)

创建零件数据表P

--创建零件数据表P
use CK
create table P(
PNO char(4) not null,
PNAME varchar(20) null,
COLOR varchar(10) null,
WEIGHT smallint null,
primary key(PNO)
)

创建工程项目数据表J

--创建工程项目数据表J
use CK
create table J(
JNO char(4) not null,
JNAME varchar(20) null,
JCITY varchar(20) null,
BALANCE money null,
primary key(JNO)
)

创建供应关系数据表SPJ

--创建供应关系数据表SPJ
use CK
create table SPJ(
SNO char(4) not null,
PNO char(4) not null,
JNO char(4) not null,
PRICE money null,
QTY smallint null,
primary key(SNO,PNO,JNO),    --实体完整性规则
foreign key(SNO) references S(SNO), --参照完整性规则
foreign key(PNO) references P(PNO), --参照完整性规则
foreign key(JNO) references J(JNO), --参照完整性规则
check (QTY between 0 and 10000)     --用户定义完整性规则
)

基本表结构的修改

在供应表中增加一个字段

--在供应表中增加一个字段:Telephone char(10) null
use CK
alter table s
add Telephone char(10) null

删除供应表中一个字段

--删除供应表中一个字段:Telephone 
use CK
alter table s
drop column Telephone 

修改供应商表S,使得供应商名称长度为50

--修改供应商表S,使得供应商名称长度为50
use CK
alter table s
alter column Sname varchar(50) null

基本表的撤销

--创建供应商表S1
use CK
create table S1(
SNO char(4) not null,
SNAME varchar(20) null,
SADDR varchar(30) null,
primary key(SNO)
)

--删除供应商表S1
use CK
drop table S1

视图的创建

--创建视图
create view JSP_NAME(JNO,JNAME,SNO,SNAME,PNO,PNAME,QTY)
as select J.JNO,JNAME,S.SNO,SNAME,P.PNO,PNAME,QTY
	from S,P,J,SPJ
	where S.SNO=SPJ.SNO
	and P.PNO=SPJ.PNO
	and J.JNO=SPJ.JNO
--查看试图
select * from JSP_NAME
--撤销视图
drop view JSP_NAME

索引的创建和撤销

--对表J创建名为JNO_INDEX索引,JNO降序排列
create index JNO_INDEX on J(JNO desc)
--使用建立的索引
select * from J with (index=JNO_INDEX)
--删除索引
drop index J.JNO_INDEX

标签:CK,--,SNO,数据库,server,sql,null,JNO
From: https://www.cnblogs.com/hekang520/p/18387211

相关文章

  • 03-docker&mysql相关练习
    1、在docker中分别以后台方式和交互方式启动centos,对比启动后的容器状态,实现退出容器也能保持其运行状态。[root@CentOS~]#dockerrun-dcentos //后台方式76e8d53e483a1d53ad18c78ce4075fd9d72ecf01616d243f52218e1f40d03859[root@CentOS~]#dockerrun-itcentos //交互方......
  • 使用MySQL Shell 8.4.1-LTS 直接将数据复制到 MySQL实例
     在之前的文章中,我谈到了如何使用MySQLShell通过多线程过程来转储和加载数据,以及如何以不同格式导出表数据,然后可以将这些数据导入到新的MySQL实例中。这篇文章将讨论我们如何直接将数据复制到另一个MySQL实例,而无需执行单独的转储和加载操作。在开始这个演示之前,我按......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......
  • 第44天:WEB攻防-PHP应用&SQL盲注&布尔回显&延时判断&报错处理&增删改查方式
    #PHP-MYSQL-SQL操作-增删改查1、功能:数据查询查询:SELECT*FROMnewswhereid=$id2、功能:新增用户,添加新闻等增加:INSERTINTOnews(字段名)VALUES(数据)3、功能:删除用户,删除新闻等删除:DELETEFROMnewsWHEREid=$id4、功能:修改用户,修改文章等修改:UPDATEnewsSETid=......
  • 【mysql】SUBSTRING_INDEX 用法举例
    查询语句如下:SELECT 高工, SUBSTRING_INDEX(高工,'、',-1), --取右边第一个 SUBSTRING_INDEX(高工,'、',0), SUBSTRING_INDEX(高工,'、',1), --取左边一个(从左往右) SUBSTRING_INDEX(高工,'、',2), --取左边二个(从左往右) SUBSTRING_INDEX(高工,'、&......
  • MySQL 使用pt-osc添加索引Lock wait timeout exceeded管窥
    1.pt-osc工具1.1.pt-osc简介pt-osc是pt-online-schema-change的简写,pt-online-schema-change是percona-toolkit工具包中用于在线变更DDL的工具1.2.pt-osc原理1.3.pt-toolkit安装#yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-MakeMakercpan#yumload-transaction......
  • SQL Server 链接服务器(Linked Servers)
    通过T-SQL语句来添加、删除或修改链接服务器配置进行跨数据库、跨实例或甚至跨数据库系统的数据集成和查询 SELECT*FROMsysservers可以查出当前SQLServer实例上配置的所有链接服务器的列表及其相关信息 sp_addlinkedserver[@server=]N'server'[......
  • 【MySQL数据库管理问答题】第11章 执行备份
    目录 1.在使用mysqlbackup进行备份时,对于InnoDB存储引擎都会备份哪些文件?2.使用mysqlbackup进行恢复时,copy-back命令执行了哪些操作?3.mysqldump和mysqlpump实用程序在功能上有哪些相同和不同的地方?4.原始二进制备份在什么条件下是可以跨平台进行移植的?5.......
  • 泛微ecology9 ModeDateService 存在SQL注入漏洞
    一、漏洞介绍泛微e-cology是⼀款由泛微网络科技开发的协同管理平台,支持人力资源、财务、行政等多功能管理和移动办公。泛微e-cology9ModeDateService接口存在SQL注入漏洞。二、影响版本泛微ecology9三、网络测绘fofa:app="泛微-协同商务系统"hunter:app.name=="......
  • Windows下安装MySQL详细教程
    Windows下安装MySQL详细教程1、安装包下载  2、安装教程(1)配置环境变量(2)生成data文件(3)安装MySQL(4)启动服务(5)登录MySQL(6)查询用户密码(7)设置修改用户密码(8)退出 3、解决问题1、安......