Tuesday, February 28, 2017

2 - More Keywords

CREATE INDEX index_name
ON table_name (column_name)

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

ALTER TABLE table_name DROP INDEX index_name  //MySQL
ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name DROP COLUMN  MODIFY column_name datatype//MySQL


DROP TABLE table_name;
DROP DATABASE database_name;
Delete only entire data in a tableTRUNCATE TABLE table_name;



//MySQL-------------------------------------------
CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

ALTER TABLE Persons AUTO_INCREMENT=100

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

//MySQL-------------------------------------------END


VIEW a view is a virtual table based on the result-set of an SQL statement.

CREATE VIEW view_name AS 
SELECT column_name(s) FROM table_name WHERE condition;

query the view : SELECT * FROM <<View-Name>>
Updating a View:CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s) FROM table_name WHERE condition ;Delete View: DROP VIEW view_name;


NULL is not same as 0;

SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL;
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL;


GROUP BY used in conjunction with the aggregate functions to group the result-set by one or more columns.

SELECT column_name, aggregate_function(column_name) FROM table_name
WHERE column_name operator value
GROUP BY column_name;

HAVING vs where 

HAVING clause was added to SQL because the WHERE keyword could not be used with aggregate functions.
SELECT column_name, aggregate_function(column_name) FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

No comments:

Post a Comment