Monday 11 February 2013

SQL – Data Types



SQL – Data Types
SQL data type is an attribute that specifies type of data of any object. Each column, variable and expression has related data type in SQL.
You would use these data types while creating your tables. You would choose a particular data type for a table column based on your requirement.
SQL Server offers six categories of data types for your use:

Exact Numeric Data Types:

DATA TYPE
FROM
To
bigint
-9,223,372,036,854,775,808
9,223,372,036,854,775,807
int
-2,147,483,648
2,147,483,647
smallint
-32,768
32,767
tinyint
0
255
bit
0
1
decimal
-10^38 +1
10^38 .1
numeric
-10^38 +1
10^38 .1
money
-922,337,203,685,477.5808
+922,337,203,685,477.5807
smallmoney
-214,748.3648
+214,748.3647

Approximate Numeric Data Types:

DATA TYPE
FROM
To
float
-1.79E + 308
1.79E + 308
real
-3.40E + 38
3.40E + 38

Date and Time Data Types:

DATA TYPE
FROM
To
datetime
Jan 1, 1753
Dec 31, 9999
smalldatetime
Jan 1, 1900
Jun 6, 2079
date
Stores a date like June 30, 1991
time
Stores a time of day like 12:30 P.M.

Note: Here datetime has 3.33 milliseconds accuracy where as smalldatetime has 1 minute accuracy.

Character Strings Data Types:

DATA TYPE
FROM
To
Char
char
Maximum length of 8,000 characters.( Fixed length non-Unicode characters)
Varchar
varchar
Maximum of 8,000 characters.(Variable-length non-Unicode data).
varchar(max)
varchar(max)
Maximum length of 231characters, Variable-length non-Unicode data (SQL Server 2005 only).
Text
text
Variable-length non-Unicode data with a maximum length of 2,147,483,647 characters.

Unicode Character Strings Data Types:

DATA TYPE
Description
nchar
Maximum length of 4,000 characters.( Fixed length Unicode)
nvarchar
Maximum length of 4,000 characters.(Variable length Unicode)
nvarchar(max)
Maximum length of 231characters (SQL Server 2005 only).( Variable length Unicode)
ntext
Maximum length of 1,073,741,823 characters. ( Variable length Unicode )

Binary Data Types:

DATA TYPE
Description
binary
Maximum length of 8,000 bytes(Fixed-length binary data )
varbinary
Maximum length of 8,000 bytes.(Variable length binary data)
varbinary(max)
Maximum length of 231 bytes (SQL Server 2005 only). ( Variable length Binary data)
image
Maximum length of 2,147,483,647 bytes. ( Variable length Binary Data)

Misc Data Types:

DATA TYPE
Description
sql_variant
Stores values of various SQL Server-supported data types, except text, ntext, and timestamp.
timestamp
Stores a database-wide unique number that gets updated every time a row gets updated
uniqueidentifier
Stores a globally unique identifier (GUID)
xml
Stores XML data. You can store xml instances in a column or a variable (SQL Server 2005 only).
cursor
Reference to a cursor object
table
Stores a result set for later processing

Thursday 7 February 2013

SQL - Syntax



SQL – Syntax
SQL is followed by unique set of rules and guidelines called Syntax. This tutorial gives you a quick start with SQL by listing all the basic SQL Syntax:
All the SQL statements start with any of the keywords like SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, CREATE, USE, SHOW and all the statements end with a semicolon (;).
Important point to be noted is that SQL is case insensitive which means SELECT and select have same meaning in SQL statements but MySQL make difference in table names. So if you are working with MySQL then you need to give table names as they exist in the database.

SQL SELECT Statement:

SELECT column1, column2....columnN
FROM   table_name;

SQL DISTINCT Clause:

SELECT DISTINCT column1, column2....columnN
FROM   table_name;

SQL WHERE Clause:

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION;

SQL AND/OR Clause:

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION-1 {AND|OR} CONDITION-2;

SQL IN Clause:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name IN (val-1, val-2,...val-N);

SQL BETWEEN Clause:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name BETWEEN val-1 AND val-2;

SQL Like Clause:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name LIKE { PATTERN };

SQL ORDER BY Clause:

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION
ORDER BY column_name {ASC|DESC};

SQL GROUP BY Clause:

SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name;

SQL COUNT Clause:

SELECT COUNT(column_name)
FROM   table_name
WHERE  CONDITION;

SQL HAVING Clause:

SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name
HAVING (arithematic function condition);

SQL CREATE TABLE Statement:

CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);

SQL DROP TABLE Statement:

DROP TABLE table_name;

SQL CREATE INDEX Statement :

CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);

SQL DROP INDEX Statement :

ALTER TABLE table_name
DROP INDEX index_name;

SQL DESC Statement :

DESC table_name;

SQL TRUNCATE TABLE Statement:

TRUNCATE TABLE table_name;

SQL ALTER TABLE Statement:

ALTER TABLE table_name {ADD|DROP|MODIFY} column_name {data_ype};

SQL ALTER TABLE Statement (Rename) :

ALTER TABLE table_name RENAME TO new_table_name;

SQL INSERT INTO Statement:

INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);

SQL UPDATE Statement:

UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE  CONDITION ];

SQL DELETE Statement:

DELETE FROM table_name
WHERE  {CONDITION};

SQL CREATE DATABASE Statement:

CREATE DATABASE database_name;

SQL DROP DATABASE Statement:

DROP DATABASE database_name;

SQL USE Statement:

USE DATABASE database_name;

SQL COMMIT Statement:

COMMIT;

SQL ROLLBACK Statement:

ROLLBACK;