SQL Server-databas: Skapa, ändra och släpp databas i SQL

Vad är databas?

En databas är en samling objekt som tabeller, vyer, lagrade procedurer, utlösare, funktioner etc.

Tänk på ett med några exempel i verkligheten:

  • Vi har en bokhylla där Books finns,
  • Vi har hem där vi bor,
  • Vi har parkeringsplatser där fordon står parkerade & exemplen är otaliga.

På samma sätt har vi DATABAS som är ett slags hem för alla våra tabeller, vyer, lagrade procedurer etc som är sammanlänkade.

Tekniskt sett lagrar Databas data på ett välorganiserat sätt för enkel åtkomst och hämtning. I SQL Server, det finns två typer av databaser:

  1. Systemdatabaser: Systemdatabaserna skapas automatiskt åt dig när du installerar SQL Server. De spelar en avgörande roll på servern, särskilt för att säkerställa att databasobjekt körs korrekt. Exempel på SQL Server-systemdatabaser inkluderar: Master, MSDB, Model, Tempdb, Resource
  2. Användardatabaser: Användardatabaserna skapas av databasanvändare som du som har fått åtkomst att skapa databaser

Regler för att skapa en databas

Först måste vi känna till de grundläggande reglerna för att skapa ny DB:

  • Databasnamn måste vara unika i en instans av SQL Server.
  • Databasnamn kan vara max 128 tecken.
  • CREATE DATABASE-satsen måste köras i ett auto-commit-läge.
Regler för att skapa en databas
Regler för att skapa en databas

Det finns två sätt att skapa databas i SQL-server.

  1. SQL Server Management Studio
  2. Transagera SQL

Hur man skapar en databas i SQL Server Management Studio

Här är en steg-för-steg-process för att skapa en databas i SQL server management studio:

Steg 1) Högerklicka på "Databas" i fönstret "Object Explorer" och välj sedan "Ny databas".

Skapa databas i SQL Server Management Studio

Steg 2) Nedanför kommer skärmen "Ny databas" att visas. Ange 'Databasnamn'. Observera att: kolumnen 'Logiskt namn' kommer att fyllas i automatiskt med:

  1. Edu | Filtyper: Rader och filgrupper: PRIMÄR
  2. Edu_log | Filtyper: LOG och filgrupper: "Inte tillämpligt"

Skapa databas i SQL Server Management Studio

Här:

A) Edu | Filtyper: Rader och filgrupper: PRIMÄR är en .mdf-fil

B) Edu_log | Filtyper: LOG och filgrupper: 'Inte tillämpligt' är en .ldf-fil

Steg 3) (Valfritt) För mer komplexa inställningar kan vi navigera till 'Alternativ' och 'Filgrupper'. På nybörjarnivå räcker det att skapa databas från fliken Allmänt.

Skapa databas i SQL Server Management Studio

Steg 4) Klicka på "Lägg till".

Skapa databas i SQL Server Management Studio

Resultat: 'Edu'-databas skapad.

Skapa databas i SQL Server Management Studio

Vi kan utöka Databasen – 'Edu' som kommer att innehålla tabeller, vyer etc. Dessa är initialt tomma tills användaren skapar nya tabeller, vyer etc.

Visa källfrågan:

Du kan se källfrågan för den nyskapade 'Edu'-databasen som:Navigering: Högerklicka på Databasnamn>Skriptdatabas som> SKAPA Till> Nytt frågeredigeringsfönster.

Skapa databas i SQL Server Management Studio

Frågefönster:

Skapa databas i SQL Server Management Studio

Skapa skript:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Skapa databas med T-SQL

En annan metod är att skriva T-SQL-frågan för att skapa en databas och köra den.

Låt oss ta en titt på de flesta Simple Database Creation T-SQL-frågor.

Syntax:

CREATE DATABASE <Database_name>

Fråga:

CREATE DATABASE [Edu_TSQL_file]

Klicka på "Execute"

Skapa databas med T-SQL

Resultat: Vi kan se Edu_TSQL skapad i SQL Object Explorer.

Skapa databas med T-SQL

Låt oss ta en titt när vi vill skapa en databas med .mdf- och .ldf-filer. Här kan vi ange platsen som en implicit del av vår fråga.

Syntax:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

Fråga:

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Skapa databas med T-SQL

Hur man ändrar databas

Liksom Skapa databasfråga kan vi också ändra databas. Vi kan byta namn på databasnamn, ändra filplats och inställning etc.

Grundläggande regler för att ändra ny DB:

  • ALTER DATABASE-satsen måste köras i ett auto-commit-läge.
  • ALTER DATABASE är inte tillåtet i en explicit eller implicit transaktion.

Det finns två sätt att ändra databas i SQL-server.

  1. SQL Server Management Studio
  2. Transact-SQL.

Hur man ändrar databas i SQL Server Management Studio

Nedan följer stegen för att ändra databas i SQL Server Management Studio:

Låt oss försöka ändra namnet på vår förskapade databas "Edu".

Ändra databas i SQL Server Management Studio

Steg 1) Byt namn på databasen

Högerklicka på Databasnamn. Klicka på "Byt namn".

Ändra databas i SQL Server Management Studio

Steg 2) Ange det nya databasnamnet

Databasnamnet kommer att kunna redigeras. Ange det nya namnet och tryck på Enter.

Ändra databas i SQL Server Management Studio

Resultat: Databasen har nu bytt namn till "Edu_Alter" från "Edu."

Ändra databas i SQL Server Management Studio

Ändra databas med Transact-SQL

Låt oss nu ändra databas med T-SQL

Syntax:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

Fråga:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Kör ovanstående fråga genom att klicka på "Execute".

Resultat: Databasen har nu bytt namn till "Edu_TSQL_Alter" från "Edu_TSQL".

Ändra databas med Transact-SQL

Allmän syntax:

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

Ändra .mdf/.ldf filnamn

Fråga:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

Ändra databas med Transact-SQL

Ändra .mdf/.ldf-filens plats

Fråga:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

Ändra databas med Transact-SQL

Ta bort databas

Det finns två sätt att ta bort databas i SQL-servern.

  1. SQL Server Management Studio
  2. Transact-SQL.

Hur man släpper databas i SQL Server Management Studio

Följande är processen för att släppa en databas i SQL Server Management Studio:

Låt oss försöka ta bort vår förskapade databas "Edu_Alter."

Steg 1) Högerklicka på Database. Klicka på "Ta bort" och sedan på "OK".

Släpp databas i SQL Server Management Studio

Resultat: 'Edu_Alter' raderas från 'Object Explorer'-databaslistan.

Släpp databas i SQL Server Management Studio

Ta bort databas med Transact-SQL

Låt oss försöka ta bort vår förskapade databas "Edu_TSQL_Alter."

Syntax:

DROP DATABASE <Databse_name>

Fråga:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Kör ovanstående fråga genom att klicka på "Kör".

Resultat: 'Edu_TSQL_Alter' raderas från 'Object Explorer'-databaslistan.

Ta bort databas med Transact-SQL

Återställ databas i SQL Server

Du kan skapa en databas genom att återställa en databas som du hade säkerhetskopierat tidigare. Det kan göras genom att köra kommandot återställ databas som tar följande syntax:

restore Database <database name> from disk = '<Backup file location + filename>

Frågan ska köras i frågefönstret precis som föregående kommando. Till exempel:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

Du kan också använda GUI-navigeringen: Högerklicka på Databas>Återställ databaser>Enhet> Importera fil>Klicka på Ok.

Sammanfattning

  • Vi kan använda både SQL Management GUI och T-SQL för att utföra alla tre operationerna; Skapa, ändra och ta bort databas.
  • Högst 32,767 XNUMX databaser kan anges på en instans av SQL Server.
  • Systemdatabaser kan inte raderas.
  • Skapa, ändra och släpp: Alla operationer är skiftlägesokänsliga. Vi kan använda både versaler och gemener som syntax.