SQL語句創建表
CREATE TABLE 語句用于創建數據庫中的表。
具體用法為: CREATE TABLE 表名稱 ( 列名稱1 數據類型, 列名稱2 數據類型, 列名稱3 數據類型, 。. ) 擴展資料: 創建表數據類型: integer(size) int(size) smallint(size) tinyint(size):僅容納整數。
decimal(size,d) numeric(size,d):容納帶有小數的數字。 char(size):容納固定長度的字符串 varchar(size):容納可變長度的字符串 date(yyyymmdd):容納日期。
參考資料:百度百科-SQL CREATE TABLE。
SQL語句建表,
用SQL語句建表 它是屬于數據庫的基礎知識,為了能讓你更加明白表的作用,我會先將自己的理解簡單說一下,然后介紹他的語法及注意的內容,最后簡單做一個實驗作為例子。
表是數據庫中最重要的邏輯對象,是存儲數據的主要對象,在實際數據庫的結構時,很重要的是設計表的結構,表的每一行代表的是記錄,每一列代表的表的結構,每一個表之多有1024個列,表和列都是有嚴格遵守標識符的規定,在各自的表中列必須是唯一的而且必須為列指定數據類型,以上就是用SQL語句建表主要是內容! 為了講解語句時,避免你的困擾,我現在還需給你介紹另外一個概念,那就是表約束(它是基礎,而且也是重點)它是表一種強制實現完整性的機制! 1.主鍵(primary key)約束 主鍵我個人的理解是,一個列,它里面的值(每一行的內容)不能有重復的,而且不允許為空(沒有記錄); 2.唯一性(unique)約束 唯一性我的理解是,每一列中的內容不能相同,比如說吧,一個考題表中有一個列的名為“考題內容”那么這一列如果定義了唯一性,就不能有重復的內容(每一行的內容)當然考題是不允許有相同的。它與主鍵的區別是主鍵只能有一個,唯一性能有若干個。
3.檢查約束(check)約束 不知道你是不是學到數據庫的數據類型了,沒有的話,建議你先看一看,那樣你才能更好的理解,我下面將講解的內容,將一列定義了一種數據類型后,如果你在表中添加信息(一行的內容),必須于指定的數據類型一致才能加載成功! 4.默認約束(default)約束 比如說"學生信息表"中的內容肯定有“性別”,你可以將性別默認成“男”,加載數據時,沒有添加該列的內容會自動加為“男”! 5.外鍵(foreign key)約束 通過將一個表中的主鍵加載另一表中,可創建兩個表的連接(數據庫的靈魂知識) 語法格式 create table 表名 { 列名1 數據類型和長度1 列屬性1 列名2 數據類型和長度2 列屬性2 列名3 數據類型和長度3 列屬性3 列名4 數據類型和長度4 列屬性4 …… 列名n 數據類型和長度n 列屬性n } 以創建考生信息表為例(以前我自己以前做的項目中使用過的) use exam ---我自己創建的數據庫的名稱(需自己創建不作介紹了) go ---可有可無它是腳本(右側代碼)的批處理一般加上易于理解養成好的習慣 if exists(select name from sysobjects where name='考生信息表'and type='U') ----------一般系統將表建立記錄放在“sysobjects "表中,if判斷是它(考生信息表)是否存在,存在就執行 ---------下面內容,否則跳出 DROP TABLE 考生信息表 ----刪除考生信息表 GO ---可有可無它是腳本(右側代碼)的批處理 -----------以上內容需自己弄明白很重要 CREATE TABLE 考生信息表( --------創建命令,將表名定義為“考生信息表” stID char(9) constraint pk_xh4 primary key, -------stID為列名,char(9)為字符,primary key為主鍵 ----constraint為索引 stnomber char(9) NULL,------ NULL該列允許為空 stname varchar(12) NULL,-------同上 stsex varchar(2) NULL check not for replication (stsex in ('男','女')),----默認約束用法,性別只允 ------ 許為男或女 stshengfen nvarchar(19) NULL, -----------nvarchar(19)國際聲明的字符串 specialized varchar(50) NULL, dizhi varchar(50) NULL, fensu varchar(3) NULL, jilu varchar(255) NULL, dianhua char(50),------該列不允許為空 mail varchar(255)) 以上內容知識,對數據庫的初步理解,還有許多的數據類型沒有介紹到,請包涵! 我的運行的環境是sql sever 2008,它是通用的不必擔心,數據庫的內容十分廣,以上只是我明白的,不通的地方我們可以繼續研究,希望你能明白我所講到的內容!。
sql語句創建表
學生表
create table tblStudent(
Sid int indentity(1,1) primary key,
Sname nvrchar[20] not null,Sage int not null check(Sage>=16 and SageSsex nchar[1] default '男')
課程表(tblCourse),
create table tblCourse(
Cid int indentity(1,1) primary key,
Cname nvarchar[20] not null unique;TId int not null) 成績表(tblScore):
create table tblScore(
Sid int not null,
Cid int not null,
Score int not null,
primary key(Sid,Cid),
foreign key Sid references tblStudent(Sid),
foreign key Cid references tblCourse(Cid)
) 教師表(tblTeacher):
create table tblScore(
TId int indentity(1,1) primary key,
Tname nvarchar[20] not null)
sql建表語句怎么寫啊
?CREATE TABLE
[ database_name.[ owner ] .| owner.] table_name
( { < column_definition >| column_name AS computed_column_expression| ?< table_constraint >;} [,…n])
[ ON { filegroup | DEFAULT } ]
例如:
create database Sutinfo
on primary
(name=Sutinfo_data,
filename='e:\Sutinfo_*',
size=20,filegrowth=10%)
log on
(name=Sutinfo_log,
filename='e:\Sutinfo_*',
size=20,filegrowth=10%)
go
如何查看Oracle數據表的建表語句
1、調出SQL*Plus conn system/manager grant connect,resource to a identified by a; grant connect,resource to b identified by b; conn a/a create table a(a number); insert into a values (1); insert into a values (2); insert into a values (3); create table b(a number,b varchar2 (10)); insert into b values(1,'1111'); insert into b values(2,'2222'); insert into b values(3,'3333'); commit; 2、打開一個DOS窗口、先執行導出 E:\>exp a/a file=a。
dmp log=loga。txt Export: Release 8。
1。6。
0。0 - Production on 星期五 12月 1 22:24:16 2000 (c) Copyright 1999 Oracle Corporation。
All rights reserved。 連接到: Oracle8i Enterprise Edition Release 8。
1。6。
0。0 - Production With the Partitioning option JServer Release 8。
1。6。
0。0 - Production 已導出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集 。
正在導出 pre-schema 過程對象和操作 。 正在導出用戶A的外部函數程序庫名稱 。
正在導出用戶A的對象類型定義 即將導出A的對象 。 。
。 。
正在導出數據庫鏈接 。 正在導出序號 。
正在導出群集定義 。 即將導出A的表通過常規路徑 。
。 。
正在導出表 A 3 行被導出 。 。
正在導出表 B 3 行被導出 。 正在導出同義詞 。
正在導出視圖 。 正在導出存儲的過程 。
正在導出運算符 。 正在導出引用完整性約束條件 。
正在導出觸發器 。 正在導出索引類型 。
正在導出位圖、功能性索引和可擴展索引 。 正在導出后期表活動 。
正在導出快照 。 正在導出快照日志 。
正在導出作業隊列 。 正在導出刷新組和子組 。
正在導出維 。 正在導出 post-schema 過程對象和操作 。
正在導出統計 在沒有警告的情況下成功終止導出。 E:\> 3、再執行導入,使用show=y、log這兩個選項 E:\>imp a/a file=a。
dmp show=y log=logb。txt Import: Release 8。
1。6。
0。0 - Production on 星期五 12月 1 22:29:49 2000 (c) Copyright 1999 Oracle Corporation。
All rights reserved。 連接到: Oracle8i Enterprise Edition Release 8。
1。6。
0。0 - Production With the Partitioning option JServer Release 8。
1。6。
0。0 - Production 經由常規路徑導出由EXPORT:V08。
01。06創建的文件 已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入 。
正在將A的對象導入到 A "CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25" "5 LOGGING STORAGE (INITIAL 131072 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483" "645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE" "SPACE "SYSTEM"" 。 。
正在跳過表 "A" "CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2 (10)) PCTFREE 10 PCTUSED 40 INIT" "RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 " "MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P" "OOL DEFAULT) TABLESPACE "SYSTEM"" 。 。
正在跳過表 "B" 成功終止導入,但出現警告。 E:\> 4、使用編輯器打開logb。
txt,里面可以看到DDL語句。
mysql 建表語句
create table 商品表 (PID int,name varchar(20) primary key(PID));
create table 用戶表 (UID int,name varchar(20) primary key(UID));
create table 商品和用戶關系表 (PUID int,UID int,PID int primary key(PUID),foreign key(UID) references 用戶表(UID),foreign key(PID) references 商品表(PID));
以上,希望對你有所幫助!
sql語句創建表
創建一個基本的表需要做的工作包括:命名表、定義列和各列的數據類型。
SQL 語言使用 CREATE TABLE 語句來創建新表。
語法:
CREATE TABLE 的基本語法如下所示:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
。..
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLE 向數據庫系統指明了你的意圖。在此例中,你想要創建一個新表,新表的唯一名稱(或者說標識符)緊跟在 CREATE TABLE 后面。
隨后的圓括號以列表的形式定義了表中的列以及各列所屬的數據類型。下面的示例對該創建新表的語法做出了更清晰的闡釋。
將 CREATE TABLE 語句和 SELECT 語句結合起來可以創建現有表的副本。詳細信息請見利用現有表創建新表.
示例:
下面的示例創建了一個 CUSTOMERS 表,主鍵為 ID,某些字段具有 NOT NULL 的約束,表示在創建新的記錄時這些字段不能為 NULL。
SQL> CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
你可以通過查看 SQL 服務器返回的消息來確定新表創建成功,或者也可以像下面這樣使用 DESC 命令:
SQL> DESC CUSTOMERS;
+---------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| ID | int(11) | NO | PRI | | |
| NAME | varchar(20) | NO | | | |
| AGE | int(11) | NO | | | |
| ADDRESS | char(25) | YES | | NULL | |
| SALARY | decimal(18,2) | YES | | NULL | |
+---------+---------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
現在數據庫中已經有 CUSTOMERS 表了,你可以用它來存儲和客戶有關的信息。
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
);