1. Corrected NOT NULL / NULL explanation 2. Added explanation for Default 3. Added new columns to illustrate 'default' and 'null' behaviour. 4. Explanations for datatypes 5. NUMERIC Datatype illustrated.
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: SQL Create Table Statement
 | ||
| ---
 | ||
| ## SQL Create Table Statement
 | ||
| 
 | ||
| <!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds  -->
 | ||
| 
 | ||
| A table is a group of data stored in a database.
 | ||
| 
 | ||
| To create a table in a database you use the `CREATE TABLE` statement. You give a name to the table and a list of columns with its datatypes.
 | ||
| 
 | ||
| ##### SYNTAX #####
 | ||
| ```sql
 | ||
| CREATE TABLE table_name(Attribute1 Datatype,
 | ||
|                        Attribute2 Datatype,
 | ||
|                        ........);
 | ||
| ```
 | ||
| here:
 | ||
|  * Attribute1, Attribute2... -> Column Name
 | ||
|  * Datatype... -> type of value you want to column have. For eg. int(size), char(size), Varchar(size),etc.
 | ||
| 
 | ||
| 
 | ||
| Here’s an example creating a table named Person:
 | ||
| 
 | ||
| ```sql
 | ||
| CREATE TABLE Person(
 | ||
|   Id           int      not null,
 | ||
|   Name         varchar  not null,
 | ||
|   DateOfBirth  date     not null,
 | ||
|   Gender       bit      not null,
 | ||
|   Height       numeric(5, 2) default 0 not null, 
 | ||
|   Weight       numeric(5, 2) default 50,
 | ||
|   WaistSize    numeric(5, 2),
 | ||
|   PRIMARY KEY( Id )
 | ||
| );
 | ||
| ```
 | ||
| 
 | ||
| ##### PrimaryKey
 | ||
| In the example above, each Person has a Name, Date of Birth,  Gender and Height. The Id column is the key that identifies one person in the table. You use the keyword `PRIMARY KEY` to configure one or more columns as a primary key.
 | ||
| 
 | ||
| ##### Datatypes
 | ||
| Each column also has it's datatype mentioned. 
 | ||
| 
 | ||
| Just to understand the above code, the datatype mentioned indicates the following type of values approximately. 
 | ||
| ```
 | ||
| int          : A whole number
 | ||
| varchar      : Strings
 | ||
| date         : A Date Value without Time component
 | ||
| bit          : A Boolean value
 | ||
| numeric(5, 2): A decimal value with ( Precision 5 and Scale 2 ) 
 | ||
|               ie. Total of 5 digits with 3 digits before the decimal point and 2 digits after decimal point.
 | ||
| ```
 | ||
| Proper List and meaning of datatypes can be refered from resources like this: ( https://www.w3schools.com/sql/sql_datatypes.asp )
 | ||
| 
 | ||
| ##### Default and Not NULL
 | ||
| When a row of values are inserted into a table, any column which is marked as `not null` and without a `default` value will be compulsary. Insert fails otherwise.
 | ||
| 
 | ||
| If no value is provided for a column which has a `default` value, insert will succeed with the column being assigned the default value defined in the table definition.
 | ||
| >e.g Column Weight  has default value as 50.
 | ||
| 
 | ||
| By default all columns are nullable ie. `null` is assumed unless explicity set as `not null`. So any column without `default` and `not null` keyword can be skipped in insert commands. They will have *null* value on querying. 
 | ||
| >e.g Column WaistSize  can be *null*
 | ||
| 
 | ||
| >Please note that `null` and `` (Blank) are queried and handled differently in most Databases.
 | ||
| 
 | ||
| 
 | ||
| #### More Information:
 | ||
| <!-- Please add any articles you think might be helpful to read before writing the article -->
 | ||
| [SQL | CREATE](https://www.geeksforgeeks.org/sql-create/)
 | ||
| 
 |