建表sql
㈠ 如何創建sql表
創建資料庫表首先得創建好資料庫,資料庫的具體創建方法請參見:http://jingyan..com/article/63f236280e53740209ab3d53.html
3
創建數據表的源代碼如下,各命令詳見請自行網路。
use test
go
if exists(select name from sys.tables where name='Student')
drop table Student
go
create table Student
(sname nchar(10) primary key,
sex nchar(2) not null,
bir datetime
)
㈡ SQL如何創建一個數據表
create
table
userinfo
(
id
int
primary
key
not
null
identity
(1,1),
[name]
char(20)
unique,
age
int
check(age>10),
sex
char(2)
)
建議一個名叫userinfo的表,欄位為
id
,自動+1,主鍵,不為空!
name
,char(20)
不重復!
age
int類型,年齡必須大於10,否則會出現錯誤!
sex
性別
char(2)
好好學習,天天向上!
㈢ SQL語句創建表
CREATE TABLE 語句用於創建資料庫中的表。
具體用法為:
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
(3)建表sql擴展閱讀:
創建表數據類型:
integer(size) int(size) smallint(size) tinyint(size):僅容納整數。
decimal(size,d) numeric(size,d):容納帶有小數的數字。
char(size):容納固定長度的字元串
varchar(size):容納可變長度的字元串
date(yyyymmdd):容納日期。
參考資料:網路-SQL CREATE TABLE
㈣ SQL語句建表,
就以建立一個學生表為例:
CREATE
TABLE
STUDENT_INFO_T
--
STUDENT_INFO_T 是表名
(
StudentID
INT
primary
key
identity,
--
學生的學號作為關鍵字並讓其標識設為自增
StudentName
nvarchar(20)
NOT
NULL,
StudentSex
char(2)
NOT
NULL,
StudentAge
INT
NOT
NULL
)
從上面的小例子可以看出,SQL建表的一般格式如下:
create
table
表名
(
屬性1
數據類型,
--根據需要是否設為主鍵或自增
屬性2
數據類型,
--根據需要是否為空,如果不為空,可以加多一條NOT
NULL
屬性n
數據類型
)
㈤ sql怎麼創建表
1.1 創建表方法
創建表是指在已存在的資料庫中建立新表。這是建立資料庫最重要的一步,是進行其他操作的基礎。
1.1.1 創建表的語法形式
CREATE TABLE 表名 (
屬性名 數據類型 [ 完整性約束條件 ],
屬性名 數據類型 [ 完整性約束條件 ],
......
屬性名 數據類型 [ 完整性約束條件 ],
)[ 表類型 ] [ 表字元集 ];
SQL 是不區分大小寫。下面將會具體介紹SQL,這種創建表是通過什麼方式起來的效果怎麼樣?
命名規范:
1. 命名富有意義 ( 英文或英文組合 )
2. 自定義名稱使用小寫
3. MySQL 語句使用大寫
CREATE TABLE IF NOT EXISTS data_house(
id INT,
name VARCHAR(20);
gender BOOLEAN,
) Engine = MyISAM;
上面 SQL 語句的含義是:如果不存在 text1 表,就創建它,包含 3 個欄位 id 、 name 和 gender ,它們的類型分別是整形、字元型和布爾型,創建的表的類型是 MyISAM 。
完整性約束條件表
PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組
FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯系的某表的主鍵
NOT NULL 標識該屬性不能為空
UNIQUE 標識該屬性的值是唯一的
AUTO_INCREMENT 標識該屬性的值自動增加,這是 MySQL 的 SQL 語句的特色 (null,0)
DEFAULT 標識該屬性設置默認值 (not null defualt 0,not null default 0.0,not null default '')
1.1.2 設置表的主鍵
主鍵是表的一個特殊欄位。該欄位能惟一地標識該表中的每條信息。主鍵和記錄的關系,如同身份證和人的關系。主鍵用來標識每個記錄,每個記錄的主鍵值都不同。身份證是用來標明人的身份,每個人都具有惟一的身份證號。設置表的主鍵指在創建表時設置表的某個欄位為該表的主鍵。
主鍵的主要目的是幫組 MySQL 以最快的速度查找到表中的某一條信息。
主鍵必須滿足的條件:
1. 主鍵必須是唯一的,表中任意兩條記錄的主鍵欄位的值不能相同;
2. 主鍵的值是非空值;
3. 主鍵可以是單一的欄位,也可以是多個欄位組合。
1. 單欄位的主鍵:
CREATE TABLE student1 (
stu_id INT PRIMARY KEY ,
stu_name VARCHAR(20) NOT NULL,
stu_gender BOOLEAN
) Engine = InnoDB;
2. 多欄位主鍵 :
CREATE TABLE student2 (
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY( stu_id, course_id )
)Engine = InnoDB;
1.1.3 設置表的外鍵
外鍵是表的一個特殊欄位。如果欄位 sno 是一個表 A 的屬性,且依賴於表 B 的主鍵。那麼,稱表 B 為父表,表 A 為子表, sno 為表 A 的外鍵。通過 sno 欄位將父表 B 和子表 A 建立關聯關系。設置表的外鍵指在創建表設置某個欄位為外鍵。
設置外鍵的原則:必須依賴於資料庫中已存在的父表的主鍵;外鍵可以為空值。
外鍵的作用 : 是建立該表與其父表的關聯關系。父表中刪除某條信息時,子表中與之對應的信息也必須有相應的改變。例如, stu_id 就 student 表的主鍵, stu_id 是 grade 表的外鍵。當 stu_id 為 '123' 同學退學了,需要從 student 表中刪除該學生的信息。那麼, grade 表中 stu_id 為 '123' 的所有信息也應該同時刪除。
CONSTRAINT 外鍵別名 FOREIGN KEY ( 屬性 1.1, 屬性 1.2... 屬性 1.n);
REFERENCES 表名 ( 屬性 2.1, 屬性 2.2,..., 屬性 2.n)
CREATE TABLE student3 (
id INT PRIMARY KEY,
stu_id INT,
course_id INT,
# 設置外鍵
CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)
) Engine = InnoDB;
1.1.4 設置表的非空約束
非空性是指欄位的值不能為空值 (NULL) 。非空約束將保證所有記錄中該欄位都有值。如果用戶新插入的記錄中,該欄位為空值,則資料庫系統會報錯。例如,在 id 欄位加上非空約束, id 欄位的值就不能為空。如果插入記錄的 id 欄位的值為空,該記錄將不能插入。設置表的非空約束是指在創建表時為表的某些特殊欄位加上 NOT NULL 約束條件。設置非空約束的基本語法規則如下:
屬性名 數據類型 NOT NULL
㈥ ORACLE建表SQL
每個欄位後面必須得跟欄位的大小。
例如:create table student( name varchar2(20), age number(4), sal number(4), comm number(4), job varchar(4));
不然的話提示錯誤為:缺失左括弧。
希望能夠幫你。
㈦ sql語句創建表
創建新表的程序功能為:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
具體為:
創建之前判斷該資料庫是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默認就屬於primary文件組,可省略
(
/*--數據文件的具體描述--*/
name=『databasename_data』,-- 主數據文件的邏輯名稱
filename=『'所存位置:databasename_data.mdf』, -- 主數據文件的物理名稱
size=數值mb, --主數據文件的初始大小
maxsize=數值mb, -- 主數據文件增長的最大值
filegrowth=數值%--主數據文件的增長率
)
log on
(
/*--日誌文件的具體描述,各參數含義同上--*/
name='databasename_log', -- 日誌文件的邏輯名稱
filename='所存目錄:databasename_log.ldf', -- 日誌文件的物理名稱
size=數值mb, --日誌文件的初始大小
filegrowth=數值%--日誌文件的增長值
)
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;
sql 語句就是對資料庫進行操作的一種語言。
(7)建表sql擴展閱讀
1、常見語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
2、高級查詢
A:UNION運算符
UNION 運算符通過組合其他兩個結果表(例如TABLE1 和TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨UNION 一起使用時(即UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自TABLE1 就是來自TABLE2。
B: EXCEPT運算符
EXCEPT 運算符通過包括所有在TABLE1 中但不在TABLE2 中的行並消除所有重復行而派生出一個結果表。當ALL 隨EXCEPT 一起使用時(EXCEPT ALL),不消除重復行。
C:INTERSECT運算符
INTERSECT 運算符通過只包括TABLE1 和TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當ALL 隨INTERSECT 一起使用時(INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
㈧ sql建表語句
首先。。。MySQL獲取當前日期不適用getdate(),它根本就沒有這個函數,在MySQL中獲取當前時間的幾種方式:NOW() 函數
以'YYYY-MM-DD HH:MM:SS'返回當前的日期時間,可以直接存到DATETIME欄位中。
CURDATE() 函數
以'YYYY-MM-DD'的格式返回今天的日期,可以直接存到DATE欄位中。
CURTIME() 函數
以'HH:MM:SS'的格式返回當前的時間,可以直接存到TIME欄位中。注意:不能在創建表結構的時候就制定欄位的默認值為當前的日期或時間,以上函數只能是在insert語句中有用。 其次:MySQL中沒有money這種數據類型。。。你要採用float來代表金額。 然後:MySQL中沒有ntext這種數據類型。。。只有text。。。 根據以上我修改你代碼為:CREATE TABLE employee
(
number int primary key not null,
name varchar(20) NOT NULL,
sex char(2) NULL,
birthday datetime null,
hire_date timestamp NOT NULL,
professional_title varchar(10) null,
salary float null,
memo text null
);
㈨ 用SQL 建表
create table 表名
(身份證號 varchar(50) primary key,
性別 varchar(MAX),
旅客姓名 varchar(50),
電話號碼 decimal(18,0),
工作單位 varchar(50)
)
㈩ sql創建表
基本上是4部分,開始創建表,接著是選擇表空間,這部分不寫的話,系統會生成默認表空間。然後的幾句comment都是為表中列名添加註釋。最後的index是創建一個索引