0% found this document useful (0 votes)
53 views

Create Database, Create Table, Drop Database

The document describes how to create and manage databases and tables in SQL Server. It provides instructions for creating a database using SQL Server Management Studio or Transact-SQL, specifying database and file properties. It also covers creating tables, specifying column definitions and constraints, and altering existing tables by adding, modifying or dropping columns.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Create Database, Create Table, Drop Database

The document describes how to create and manage databases and tables in SQL Server. It provides instructions for creating a database using SQL Server Management Studio or Transact-SQL, specifying database and file properties. It also covers creating tables, specifying column definitions and constraints, and altering existing tables by adding, modifying or dropping columns.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

CREATE DATABASE

Página 88.

 Use SQL Server Management Studio To create a database

1. In Object Explorer, connect to an instance of the SQL Server Database Engine and then expand that
instance.
2. Right-click Databases, and then select New Database.
3. In New Database, enter a database name.
4. To create the database by accepting all default values, select OK; otherwise, continue with the following
optional steps.
5. To change the owner name, select (...) to select another owner.
6. To change the default values of the primary data and transaction log files, in the Database files grid,
select the appropriate cell and enter the new value. For more information, see Add Data or Log Files to a
Database.
7. To change the collation of the database, select the Options page, and then select a collation from the
list.
8. To change the recovery model, select the Options page and select a recovery model from the list.
9. To change database options, select the Options page, and then modify the database options. For a
description of each option, see ALTER DATABASE SET Options (Transact-SQL).
10. To add a new filegroup, select the Filegroups page. Select Add and then enter the values for the
filegroup.
11. To add an extended property to the database, select the Extended Properties page.

a. In the Name column, enter a name for the extended property.


b. In the Value column, enter the extended property text. For example, enter one or more statements
that describe the database.
To create the database, select OK.

 Use Transact-SQL To create a database

1. Connect to the Database Engine.


2. From the Standard bar, select New Query.
3. Copy and paste the following example into the query window and select Execute. This example creates
the database Sales. Because the keyword PRIMARY is not used, the first file ( Sales_dat) becomes the
primary file. Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses
MB and is allocated in megabytes. The Sales_log file is allocated in megabytes because the MB suffix is
explicitly stated in the SIZE parameter.

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\
saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\
salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB );
GO

 Create a database without specifying files


USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

 Create a database by specifying multiple data and transaction log files


USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

EXEC sp-databases;

SELECT name FROM master.sys.databases ORDER BY name;

ales;

Sales;

DROP DATABASE
DROP DATABASE Sales;

DROP DATABASE IF EXISTS Sales;


USE tempdb;
GO
DECLARE @SQL nvarchar(1000);
IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = N'Sales')
BEGIN
SET @SQL = N'USE [Sales];

ALTER DATABASE Sales SET SINGLE_USER WITH ROLLBACK IMMEDIATE;


USE [tempdb];

DROP DATABASE Sales;';


EXEC (@SQL);
END;

CREATE TABLE
Página 109.

CREATE TABLE Persons (


PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

 Create table using another table

CREATE TABLE TestTable AS


SELECT customername, contactname
FROM customers;

FILESTREAM: Ficheros grandes de datos binaries

SPARCE: Optimiza los valores de una columna (NULL no se almacena)

COLLATE: Uso adecuado de los caracteres de idioma

CLUSTERED: Orden en que los datos son físicamente almacenados

ENCRYPTED: Campo cifrado

Create table Alumnos(

(Id int PRIMARY KEY IDENTITY(1,1), CLUSTERED

Nombre varchar(40) NOT NULL,

Apellido varcahr(40) NOT NULL,

Domicilio varchar(40),

DNI char(9) UNIQUE NOT NULL,

Fecha_Nacimiento date DEFAULT (getdate()),

edad tinyint check (edad > 18 and edad < 65),


tipo char(10) check (tipo IN(‘Carpintero’, ‘Fontanero’, ‘Electricista’, ‘Ferrallista’,
‘Albañil’, ‘Enconfrador’)

Store_id int not null FOREIGN KEY(store_id) REFERENCES sales.store(store.id))

DEFAULT: DAFAULT(CURRENT_TIMESTAMP), DEFAULT(GETDATE), DEFAULT(CURRENT_USER),


DEFAULT(SESSION_USER), DEFAULT(SYSTEM_USER), DEFAULT(USER), DEFAULT(0), DEFAULT(1), DEFAULT(50)

CONSTRAINT CK_emp_id CHECK (


emp_id LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]'
OR emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')

CHECK (
emp_id IN ('1389', '0736', '0877', '1622', '1756')
OR emp_id LIKE '99[0-9][0-9]')

DROP TABLE
USE Master
GO
DROP TABLE Customers; DROP TABLE [MyDatabase].[dbo].[MyTable2];

Borrado en base de datos active, Borrado de table en otra base de datos

GO

DROP TABLE Alumnos;

TRUNCATE TABLE Alumnos; Borra los datos pero no la tabla

DELETE * FROM Alumnos;

DROP TABLE IF EXISTS Alumnos;

ALTER TABLE
ALTER TABLE Customers
ADD Email varchar(255);

ALTER TABLE Customers


DROP COLUMN Email;

ALTER TABLE table_name


MODIFY COLUMN column_name datatype;

ALTER TABLE dbo.doc_exc ADD column_b VARCHAR(20) NULL


CONSTRAINT exb_unique UNIQUE;

ALTER TABLE dbo.doc_exd WITH NOCHECK


ADD CONSTRAINT exd_check CHECK (column_a > 1) ;

ALTER TABLE dbo.doc_exz


ADD CONSTRAINT col_b_def DEFAULT 50 FOR column_b ;

ALTER TABLE dbo.doc_exe ADD --Varias columnas a modificar


-- Add a PRIMARY KEY identity column.
column_b INT IDENTITY CONSTRAINT column_b_pk PRIMARY KEY,

-- Add a column that references another column in the same table.


column_c INT NULL CONSTRAINT column_c_fk REFERENCES doc_exe(column_a),

-- Add a column with a constraint to enforce that nonnull data is in a valid telephone number format.
column_d VARCHAR(16) NULL CONSTRAINT column_d_chk CHECK
(column_d LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]' OR column_d LIKE'([0-9][0-9][0-9]) [0-9][0-9][0-9]-
[0-9][0-9][0-9][0-9]'),

-- Add a nonnull column with a default.


column_e DECIMAL(3,3) CONSTRAINT column_e_default DEFAULT .081 ;

ALTER TABLE dbo.doc_exc DROP my_constraint ;

ALTER TABLE dbo.doc_exc


DROP CONSTRAINT my_constraint, my_pk_constraint, COLUMN column_b ; -- Remove two constraints and one column

ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2) ; --Cambiar tipo de datos de una columna

ALTER TABLE dbo.doc_exy ALTER COLUMN col_a varchar(25) ; --Cambiar el tamaño de una columna

ALTER TABLE T3
ALTER COLUMN C2 VARCHAR(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = [CEK1], ENCRYPTION_TYPE = Randomized,
ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256') NULL; --Cifrado de una columna

ALTER TABLE Customers


ADD Email varchar(255), last_name varchar(50), firstname varchar(50); --Añadir varias columnas
Constraint: Primary Key, Unique, Not null, Foreign Key, Check, Default, Identity

Primary key
CREATE TABLE Names
(NameID INTEGER PRIMARY KEY,
FirstName VARCHAR (20), LastName VARCHAR (20),
DateOfBirth DATETIME);

CREATE TABLE Names


(NameID INTEGER CONSTRAINT pk_NameID PRIMARY KEY,
FirstName VARCHAR (20), LastName VARCHAR (20),
DateOfBirth DATETIME);

CREATE TABLE Names


(NameID INTEGER,
FirstName VARCHAR (20), LastName VARCHAR (20),
DateOfBirth DATETIME, CONSTRAINT
pk_NameID PRIMARY KEY (NameID));

CREATE TABLE Names


(NameID INTEGER, FirstName VARCHAR (20),
LastName VARCHAR (20), DateOfBirth DATETIME,
PRIMARY KEY(FirstName, LastName));

CREATE TABLE Names


(NameID INTEGER, FirstName VARCHAR (20),
LastName VARCHAR (20), DateOfBirth DATETIME,
CONSTRAINT pk_NameKey PRIMARY KEY(FirstName, LastName));

ALTER TABLE Names


ADD CONSTRAINT pk_NameID PRIMARY KEY (NameID);

Unique
CREATE TABLE Names
(NameID INTEGER, FirstName VARCHAR (20) UNIQUE,
LastName VARCHAR (20), DateOfBirth
DATETIME);

CREATE TABLE Names


(NameID INTEGER, FirstName VARCHAR (20) NOT NULL
UNIQUE, LastName VARCHAR (20), DateOfBirth
DATETIME);

CREATE TABLE Names


(NameID INTEGER, FirstName VARCHAR (20)
CONSTRAINT uc_FirstName UNIQUE, LastName VARCHAR (20),
DateOfBirth DATETIME);

CREATE TABLE Names (NameID


INTEGER, FirstName VARCHAR (20),
LastName VARCHAR (20), DateOfBirth DATETIME,
CONSTRAINT uc_UniqueFields UNIQUE (FirstName, LastName, DateOfBirth));

ALTER TABLE Names


ADD CONSTRAINT uc_FirstName UNIQUE (FirstName);
Not null
CREATE TABLE Names
(NameID INTEGER, FirstName VARCHAR (20) NOT NULL,
LastName VARCHAR (20) NOT NULL, DateOfBirth DATETIME NOT NULL);

Foreign Key
CREATE TABLE Sales
(SalesID INTEGER, ProductID INTEGER,
Item TEXT REFERENCES Products (Item));

CREATE TABLE Sales


(SalesID INTEGER, ProductID INTEGER,
Item TEXT CONSTRAINT fk_Sales_Products REFERENCES Products (Item));

CREATE TABLE Sales


(SalesID INTEGER, ProductID INTEGER,
Item TEXT,
CONSTRAINT fk_Sales_Products FOREIGN KEY (Item) REFERENCES Products (Item));

CREATE TABLE Cartoons


(CartoonID INTEGER, ShowName TEXT,
ToonName VARCHAR (15), ToonType VARCHAR (15),
CONSTRAINT fk_Cartoons_Toons FOREIGN KEY (ToonName, ToonType) REFERENCES Toons (CharacterName,
ToonType));

Check
CREATE TABLE SalesHistory
(SaleID int NOT NULL,
Product char (150) NULL,
SaleDate datetime NULL,
SalePrice money NULL CHECK (SalePrice > 4));

CREATE TABLE SalesHistory


(SaleID int NOT NULL,
Product char (150) NULL,
SaleDate datetime NULL,
SalePrice money NULL CONSTRAINT chk_SalePrice CHECK (SalePrice > 4));

CREATE TABLE SalesHistory


(SaleID int NOT NULL,
Product char (150) NULL,
SaleDate datetime NULL,
SalePrice money NULL, CONSTRAINT chk_SalePrice
CHECK (SalePrice > 4));

ALTER TABLE SalesHistory


ADD CONSTRAINT chk_SalePrice CHECK (SalePrice > 4));

Default
CREATE TABLE SalesHistory
(SaleID int NOT NULL,
Product char (150) NULL DEFAULT ‘new product’,
SaleDate datetime NULL DEFAULT (getdate()),
SalePrice money NULL);

ALTER TABLE SalesHistory


ADD CONSTRAINT def_SalePrice DEFAULT 50 FOR SalePrice;

Identity
CREATE TABLE SalesHistory
(SaleID int IDENTITY (1,1) NOT NULL PRIMARY KEY,
Product char (150) NULL,
SaleDate datetime NULL,
SalePrice money NULL);
Create table
CREATE TABLE Peliculas
(Id_Pelicula smallint IDENTITY(1,1) PRIMARY KEY NOT NULL,
Nombre varchar(35) NOT NULL,
Director varchar(35),
Genero tinyint DEFAULT(1) NOT NULL,
Alquilada bit DEFAULT(0) NOT NULL)

CREATE TABLE Generos


(Id_Genero tinyint IDENTITY(1,1) PRIMARY KEY NOT NULL,
Genero varchar(15) NOT NULL)

CREATE TABLE Clientes


(Id_Cliente smallint IDENTITY(1,1) PRIMARY KEY NOT NULL,
Nombre varchar(35) NOT NULL)

CREATE TABLE Alquileres


(Id_Alquiler smallint IDENTITY(1,1) PRIMARY KEY NOT NULL,
FechaAlquiler datetime NOT NULL,
Cliente smallint NOT NULL,
Pelicula smallint NOT NULL)

ALTER TABLE Peliculas


ADD CONSTRAINT fk_Genero FOREIGN KEY (Genero)
REFERENCES Generos(Id_Genero)

ALTER TABLE Alquileres


ADD CONSTRAINT fk_Cliente FOREIGN KEY (Cliente)
REFERENCES Clientes(Id_Cliente)

ALTER TABLE Alquileres


ADD CONSTRAINT fk_Pelicula FOREIGN KEY (Pelicula)
REFERENCES Peliculas(Id_Pelicula)
_____________________________________________________________________

CREATE TABLE Clientes


(Id_Cliente smallint IDENTITY(1,1) PRIMARY KEY NOT NULL,
Nombre varchar(35) NOT NULL)

CREATE TABLE Generos


(Id_Genero tinyint IDENTITY(1,1) PRIMARY KEY NOT NULL,
Genero varchar(15) NOT NULL)

CREATE TABLE Peliculas


(Id_Pelicula smallint IDENTITY(1,1) PRIMARY KEY NOT NULL,
Nombre varchar(35) NOT NULL,
Director varchar(35),
Genero tinyint DEFAULT(1) NOT NULL,
Alquilada bit DEFAULT(0) NOT NULL,
CONSTRAINT fk_Genero FOREIGN KEY (Genero)
REFERENCES Generos(Id_Genero))

CREATE TABLE Alquileres


(Id_Alquiler smallint IDENTITY(1,1) PRIMARY KEY NOT NULL,
FechaAlquiler datetime NOT NULL,
Cliente smallint NOT NULL,
Pelicula smallint NOT NULL
CONSTRAINT fk_Cliente FOREIGN KEY (Cliente)
REFERENCES Clientes(Id_Cliente),
CONSTRAINT fk_Pelicula FOREIGN KEY (Pelicula)
REFERENCES Peliculas(Id_Pelicula))

You might also like