Our application requirement changes from day to day and same we have to do our work on the database side. There are n numbers of SQL operations we do in a database like creating tables, updating table, add columns, add foreign key relation and many more as per our requirements.
As requirement comes I have to made some changes in database using SQL queries and sometimes I completely forgot about the sql query. So I am going to create a list of all useful sql queries for every day use. I hope this will also help you out.
Create table with unique identity with Foreign key
CREATE TABLE [dbo].[TableName] (
Id int not null IDENTITY(1,1) PRIMARY KEY,
ShouldRemove bit NOT NULL,
CreatedBy int not null
UpdatedOn datetime not null,
UpdatedBy int not null CONSTRAINT FK_SystemSetting_User FOREIGN KEY (UpdatedBy) REFERENCES nw.[user] (Id)
);
Alter table to add Foreign key
ALTER TABLE dbo.TableName ADD CONSTRAINT FK_TableName_User FOREIGN KEY (CreatedBy) REFERENCES nw.[user] (Id)
Alter table to update column datatype
ALTER TABLE [dbo].[TableName] ALTER COLUMN ColumnName BIT
Bring foreign key relation details
SELECT
object_name(parent_object_id) ParentTableName,
object_name(referenced_object_id) RefTableName,
name
FROM sys.foreign_keys
WHERE parent_object_id = object_id('[dbo].[TableName]')
Get Information about all columns in a table
SELECT
c.name 'Column Name',
t.Name 'Data type',
c.max_length 'Max Length',
c.precision ,
c.scale ,
c.is_nullable 'Is Nullable',
ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM
sys.columns c
INNER JOIN
sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN
sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN
sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
c.object_id = OBJECT_ID('YourTableName')
Get comma-separated columns
DECLARE @Columns TABLE ( ColumnName varchar(500) NOT NULL )
INSERT INTO @Columns ( ColumnName )
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N’Dynamic_Data_AFRater’
ORDER BY ORDINAL_POSITION
SELECT STRING_AGG( CAST(c.ColumnName as nvarchar(MAX)),’, ‘)FROM @Columns AS c
Stay tuned many more will come to add