【新星计划2023】SQL SERVER (01) -- 基础知识

这篇具有很好参考价值的文章主要介绍了【新星计划2023】SQL SERVER (01) -- 基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【新星计划2023】SQL SERVER (01) -- 基础知识

【新星计划2023】SQL SERVER (01) -- 基础知识
【新星计划2023】SQL SERVER (01) -- 基础知识

【新星计划2023】SQL SERVER (01) -- 基础知识


1. Introduction

1.1 Official Website

  • 官方文档(小技巧)
    Officail Website: https://learn.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver16.
    Officail Website(中文): https://learn.microsoft.com/zh-cn/sql/sql-server/?view=sql-server-ver16.
    【新星计划2023】SQL SERVER (01) -- 基础知识

1.2 Conn Tool

  • 官方自带的
    SQL Server Management Studio (SSMS)
    SSMS Install: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16.
    【新星计划2023】SQL SERVER (01) -- 基础知识
  • 我自己使用的
    Dbeaver
    Dbeaver Install: https://dbeaver.io/.
    【新星计划2023】SQL SERVER (01) -- 基础知识

2. Command

2.1 Create

// create database
CREATE DATABASE database_name;

// create schema
CREATE SCHEMA schema_name  AUTHORIZATION dbo; 

//create table(主键自增)
CREATE TABLE { database_name.schema_name.table_name | schema_name.table_name | table_name }(
	stu_id int IDENTITY(1,1) NOT NULL,
	department_id int,
	stu_province nvarchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	stu_city nvarchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	stu_town nvarchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	stu_address nvarchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	stu_score int,
	CONSTRAINT PK__STUDENG__8379F1C4D400EC53 PRIMARY KEY (stu_id)
);

2.2 Alter

//add column
ALTER TABLE STUDENT ADD stu_hobby  nvarchar(200) not null default 0;

// 修改栏位名
ALTER TABLE STUDENT rename column A to B;

// 修改栏位类型
ALTER TABLE STUDENT alter column A type not null;

// 删除栏位
ALTER TABLE STUDENT drop column A;

// 添加主键
ALTER TABLE STUDENT ADD CONSTRAINT PK_STUDENT PRIMARY KEY(stu_id);;

2.3 Drop

// delete database
DROP DATABASE DatabaseName; 

// delete schema
DROP SCHEMA schema_name ;

// delete table
DROP TABLE dbo.STUDENT;

// delete column
ALTER TABLE STUDENT  drop column A;
// query primary key
SELECT name  FROM sys.key_constraints  WHERE type = 'PK' ANDOBJECT_NAME(parent_object_id) = N'tablename';

// delete primary key
ALTER TABLE STUDENT DROP CONSTRAINT PKname; 

3. Transaction

【新星计划2023】SQL SERVER (01) -- 基础知识

3.1 事务四大特性

  • 原子性(Atomicity)
    原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。
  • 一致性(Consistency)
    事务必须使数据库从一个一致性状态变换到另外一个一致性状态。
  • 隔离性(Isolation)
    事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
  • 持久性(Durability)
    持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的

4. Variables

4.1 定义变量

  • DECLARE关键字,定义变量
    DECLARE @MyCounter INT;
    DECLARE @LastName NVARCHAR(30), @FirstName NVARCHAR(20), @StateProvince NCHAR(2);
  • 变量赋值
    1.set赋值指定的常量
    DECLARE @MyCounter INT;
    SET @MyCounter = 1;
    2.select赋值是从表中查出的数据
    SELECT @variable_name=value

4.2 官方Demo

建表,循环插入26笔数据

-- Create the table.
CREATE TABLE TestTable (cola INT, colb CHAR(3));
GO
SET NOCOUNT ON;
GO
-- Declare the variable to be used.
DECLARE @MyCounter INT;

-- Initialize the variable.
SET @MyCounter = 0;

-- Test the variable to see if the loop is finished.
WHILE (@MyCounter < 26)
BEGIN;
   -- Insert a row into the table.
   INSERT INTO TestTable VALUES
       -- Use the variable to provide the integer value
       -- for cola. Also use it to generate a unique letter
       -- for each row. Use the ASCII function to get the
       -- integer value of 'a'. Add @MyCounter. Use CHAR to
       -- convert the sum back to the character @MyCounter
       -- characters after 'a'.
       (@MyCounter,
        CHAR( ( @MyCounter + ASCII('a') ) )
       );
   -- Increment the variable to count this iteration
   -- of the loop.
   SET @MyCounter = @MyCounter + 1;
END;
GO
SET NOCOUNT OFF;
GO
-- View the data.
SELECT cola, colb
FROM TestTable;
GO
DROP TABLE TestTable;
GO

4.3 Example

4.3.1 输出使用 SET 初始化的变量值
DECLARE @myvar CHAR(20);  
SET @myvar = 'This is a test';  
SELECT @myvar;  
GO
4.3.2 在 SELECT 语句中使用由 SET 赋值的局部变量
USE AdventureWorks2019;  
GO  
DECLARE @state CHAR(25);  
SET @state = N'Oregon';  
SELECT RTRIM(FirstName) + ' ' + RTRIM(LastName) AS Name, City  
FROM HumanResources.vEmployee  
WHERE StateProvinceName = @state;
GO
4.3.3 为局部变量使用复合赋值
/* Example one */  
DECLARE  @NewBalance  INT ;  
SET  @NewBalance  =  10;  
SET  @NewBalance  =  @NewBalance  *  10;  
SELECT  @NewBalance;
GO
  
/* Example Two */  
DECLARE @NewBalance INT = 10;  
SET @NewBalance *= 10;  
SELECT @NewBalance;
GO
4.3.4 使用 SELECT @local_variable 返回单个值

【新星计划2023】SQL SERVER (01) -- 基础知识

4.3.5 使用 SELECT @local_variable 返回 null

【新星计划2023】SQL SERVER (01) -- 基础知识

5. Awakening

     在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。

【新星计划2023】SQL SERVER (01) -- 基础知识文章来源地址https://www.toymoban.com/news/detail-445274.html

到了这里,关于【新星计划2023】SQL SERVER (01) -- 基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【新星计划·2023】网络协议———DHCP讲解

    在工作中,利用DHCP可以有效的节约IP地址,既保证了网络通信,又提高IP地址的使用率。 DHCP全称为Dynamic Host Configuration Protocol,是一种 网络管理协议 ,中文含义为“ 动态主机配置协议 ”,通常被应用在 大型的局域网络环境中。 主要作用: 集中管理、分配IP地址 ,使网络环

    2024年02月06日
    浏览(38)
  • 【新星计划-2023】TCP/IP协议讲解

    个人主页: insist--个人主页​​​​​​ 本文专栏:网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、TCP/IP是什么? 二、为什

    2024年02月04日
    浏览(41)
  • 【新星计划·2023】认识和学习BASH(一)

    作者: Insist-- 个人主页: insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、认识BASH 1、硬件、核心与Shell ①硬件 ②核心管理 ③应用程序 2、为何要学文字接口的shell? 3、系统的合法shell与/etc/shells 功能 前言 在Linux的环境下,如果你不懂BAS

    2024年02月11日
    浏览(32)
  • 区块链基础知识01

    区块链:区块链技术是一种高级数据库机制,允许在企业网络中透明地共享信息。区块链数据库将数据存储在区块中,而数据库则一起链接到一个链条中。数据在时间上是一致的,在没有网络共识的情况下,不能删除或修改链条。 即:首尾相连的数据结构,区块头中存放着前

    2024年03月15日
    浏览(42)
  • 云计算基础知识01

    答: 话说英特尔创始人戈登·摩尔曾说过:“ 集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍 ”。 换言之,就是:处理器的性能每隔两年翻一倍。如此快速的发展,导致硬件的成本越来越低,单个企业也就买得起大量的服务器。 对于很多大型企业来说,在业务高

    2024年04月28日
    浏览(35)
  • 01通信基础知识

    码元(符号) 也可以叫符号(symbol)。通过不同的调制方式(诸如FSK、QAM等等),可以在一个码元符号上负载多个bit位信息。举个例子,4QAM(即QPSK)调制的全部四种码元符号,一种符号可以带两个bit的信息。 波特率 波特率(也称信息传送速率、码元速率、符号速率、或传

    2024年02月06日
    浏览(38)
  • Kafka 基础知识-01

    目录 一、Kafka概述 1、简介 2、消息队列 (1)消息队列应用场景 (2)消息队列的两种模式 ​3、Kafka的基础架构 二、Kafka的安装与常见命令 1、Kafka的安装 2、Kafka的命令行操作 (1)kafka-topics.sh (2)kafka-console-producer.sh和kafka-console-consumer.sh ​三、Kafka的生产者 1、发送原理 2、

    2024年01月25日
    浏览(41)
  • 安全 --- 内网基础知识(01)

    (1)概念 内网也称局域网(Local Area Network,LAN)是指在某一工作区域内由多台计算机互联形成的计算机组,一般是方圆几千米内。局域网可实现文件管理、应用软件共享、打印机共享、工作内的历程安排、电子邮件和传真通信服务等功能。 内网为封闭性网络,一定程度上能

    2024年02月10日
    浏览(48)
  • 【新星计划·2023】TCP协议与UDP协议讲解

    个人主页: insist--个人主页​​​​​​ 本文专栏:网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、什么是TCP、UDP 二、TCP与UDP的区别

    2024年02月08日
    浏览(37)
  • 【新星计划·2023】Linux图形、字符界面介绍与区别

    作者: Insist-- 个人主页: insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 前言 本文将介绍图形界面与命令行界面以及它们的区别,登录方法。 目录 一、图形界面与命令行界面介绍 1、图形界面 2、命令行界面 二、登录和切换用户界面 1 、进入图形

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包