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:
- 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
- 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.
Det finns två sätt att skapa databas i SQL-server.
- SQL Server Management Studio
- 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".
Steg 2) Nedanför kommer skärmen "Ny databas" att visas. Ange 'Databasnamn'. Observera att: kolumnen 'Logiskt namn' kommer att fyllas i automatiskt med:
- Edu | Filtyper: Rader och filgrupper: PRIMÄR
- Edu_log | Filtyper: LOG och filgrupper: "Inte tillämpligt"
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.
Steg 4) Klicka på "Lägg till".
Resultat: 'Edu'-databas skapad.
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.
Frågefönster:
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"
Resultat: Vi kan se Edu_TSQL skapad i SQL Object Explorer.
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 )
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.
- SQL Server Management Studio
- 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".
Steg 1) Byt namn på databasen
Högerklicka på Databasnamn. Klicka på "Byt namn".
Steg 2) Ange det nya databasnamnet
Databasnamnet kommer att kunna redigeras. Ange det nya namnet och tryck på Enter.
Resultat: Databasen har nu bytt namn till "Edu_Alter" från "Edu."
Ä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".
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 .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' );
Ta bort databas
Det finns två sätt att ta bort databas i SQL-servern.
- SQL Server Management Studio
- 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".
Resultat: 'Edu_Alter' raderas från 'Object Explorer'-databaslistan.
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.
Å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.