天天看點

第五節:資料庫操作和表操作相關指令

一. MySQL操作

1. 資料庫相關操作

 (1). 檢視有哪些資料庫:   show databases;

    (2). 使用指定資料庫:      use 資料庫名稱;

    (3). 檢視指定資料庫中有哪些表:      show tables;

    (4). 建立指定名稱的資料庫:      create database 資料庫名稱;

    (5). 删除資料庫: drop database 資料庫名稱;

  特别注意:上面指令哪些帶s,哪些不帶s;(要帶;)見下圖可視化界面:

第五節:資料庫操作和表操作相關指令

2. 表的相關操作

(1). 表限制

       a. 非空限制:NOT NULL,不允許某列為空。

       b. 設定列的預設值:DEFAULT。

       c. 唯一限制:UNIQUE,在該表中該列的内容必須唯一(但是可以為空)。

       d. 主鍵限制:PRIMARY KEY,非空且唯一。

       e. 主鍵自增長:AUTO_INCREMENT, 從1開始,步長為1.

       f. 外鍵限制:FOREIGN KEY,A表中的外鍵列的值參照與B表總的某一列。

(2). 表建立

第五節:資料庫操作和表操作相關指令

注意:最後一行沒有逗号,若在建表中使用到了資料庫的關鍵字。比如建立一張訂單表:(order),但是order是資料庫中的關鍵字(排序使用),表名:t_order,若非要使用order這個單詞.此時使用反引号(`)括起來,`order`.  一般,起表名為:t_名字。 

(3). 删除表 

  DROP TABLE 表名;

(4). 檢視表結構

  DESC TABLE 表名;

(5). 檢視表的詳細定義

  SHOW CREATE TABLE 表名;

3. 案例

     需求:建立一個使用者資訊表,主鍵為id,自增; 使用者名最多20位,不能重複且預設為空;密碼最多12位,不能為空,預設為‘123456’。

CREATE TABLE `userInfor` (
  `id` INT(8)  PRIMARY KEY AUTO_INCREMENT, 
  `userName` varchar(20) DEFAULT NULL UNIQUE,
  `userPwd` varchar(12) DEFAULT '123456' NOT NULL
);      

檢視表結構:

第五節:資料庫操作和表操作相關指令

檢視表詳細結構:

第五節:資料庫操作和表操作相關指令

二. SQLServer

1. 資料庫相關

(1).建立資料庫

 create database database_name
  [ on
    [primary]  [<filespec> [,...n] ]
  ]
  [ log on 
  [<filespec>[,...n]]
  ];
 
  <filespec>::=
   (
     name=logical_file_name
     [  ,  newname = new_login_name ]
     [  ,  fileName = {'os_file_name' | 'fileStream_path'} ]
     [  ,  size = size[ KB | MB | GB | TB]  ] 
     [  ,  MaxSize  = {max_size [ KB | MB |GB |TB] | UNLIMITED}  ] 
     [  ,  FILEGROWTH  = growth_increment [ KB  | MB  |GB  | TB  | %]    ] 
);      

解釋:

  1.database_name:資料庫名稱,不能與SQL SERVER中現有的資料庫執行個體名稱相沖突,最多可包含128個字元;

  2.ON:指定顯示定義用來存儲資料庫中的資料的磁盤檔案。

  3.PRIMARY:指定關聯的<filespec>清單定義的主檔案,在主檔案組<filespec>項中指定第一個檔案将生成主檔案,一個資料庫隻能有一個主檔案。如果沒有指定primary,那麼create datebase 語句中列出的第一個檔案将成為主檔案。

  4.LOG ON:指定用來存儲資料庫日志的日志檔案。LOG ON後跟以逗号分隔的用以定義日志檔案的<filespec>清單。如果沒有指定log on,将自動建立一個日志檔案,其大小為該資料庫的所有檔案大小總和的25%或521KB,取兩者之中最大者。

  5.name:指定檔案的邏輯名稱。指定filename時,需要使用name,除非指定 FOR ATTCH 子句之一。無法将filename檔案組命名為primary。

  6.filename:指定建立檔案時又作業系統使用的路徑和檔案名。執行create datebase 語句前,指定路徑必須存在.

  7.size:指定資料庫檔案的初始大小,如果沒有為主檔案提供size,資料庫引擎使用model資料庫中主檔案的大小。

  8.max_size:指定檔案可增大的最大大小。可使用KB、MB、GB和TB做字尾,預設值為MB。max_size是整數值.如果不指定max_size,則檔案将不斷增長直至磁盤被占滿。UNLIMITED表示檔案一直增長到磁盤裝滿.

  9.filegrowth:指定檔案的自動增量。檔案的filegrowth設定不能超過MAXSIZE設定。該值可以 MB、KB、GB、TB或百分比(%)為機關指定,預設值為MB,如果指定%,則增量大小為發生增長時檔案大小的的指定百分比。值為0表明自動增長被設為關閉,不允許增加空間.

  eg:建立一個資料庫sample_db,該資料庫的主資料檔案邏輯名為sample_db,實體檔案名稱為sample_db.mdf,初始大小為5MB,最大尺寸為30MB,增長速度為5%;資料庫日志檔案的邏輯名稱為sample_log,儲存日志檔案的實體名稱為sample_log.ldf,初始大小為1MB,最大尺寸為8MB,增長速度為10%。

create database[sample_db] on primary
(
    name='sample_db',
    filename='C:\SQL_SERVER_temp\sampl_db.mdf',
    size=5120KB,
    maxsize=30MB,
    filegrowth=5%
)
log on 
(
    name='sample_log',
    filename='C:\SQL_SERVER_temp\sample_log.ldf',
    size=1024KB,
    maxsize=8192KB,
    filegrowth=10%
)      

(2). 修改資料庫

  增加或删除資料檔案、改變資料檔案或日志檔案的大小和增長方式,增加或者删除日志檔案和檔案組。

alter database database_name
{
   modify name=new_database_name
   | Add file<filespec> [ ,...n ] [ TO filegroup {  filegroup_name } ]
   | Add log file <filespec> [ ,...n ] 
   | remove file logical_file_name
   |modify file <filespec>
}
  <filespec>::=
   (
     name=logical_file_name
     [  ,  newname = new_login_name ]
     [  ,  fileName = {'os_file_name' | 'filestream_path'} ]
     [  ,  size = size[ KB | MB | GB | TB]  ] 
     [  ,  MaxSize  = {max_size [ KB | MB |GB |TB] | UNLIMITED}  ] 
     [  ,  FILEGROWTH  = growth_increment [ KB  | MB  |GB  | TB  | %]    ] 
     [    ,     offline ]
);      

解析:

    database_name:要修改的資料庫的名稱;

  modify name:指定新的資料庫名稱;

  Add file:向資料庫中添加檔案。

  to filegroup{filegroup_name}:将指定檔案添加到檔案組。filegroup_name為檔案組名稱.

  Add log file:将要添加的日志檔案添加到指定的資料庫

  remove file logical_file_name:從SQL Server的執行個體中删除邏輯檔案并删除實體檔案。除非檔案為空,否則無法删除檔案。logical_file_name是在Sql Server 中引用檔案時所用的邏輯名稱。

  modify file:指定應修改的檔案,一次隻能更改一個<filespec>屬性。必須在<filespec>中指定name,以辨別要修改的檔案。如果指定了size,那麼新大小必須比檔案目前大小要大。

A. 将sample_db資料庫中的主資料檔案的初始大小修改為15MB:

alter database sample_db
  modify file
   (
    name='sample_db',
    size=15MB
  );      

(3). 删除資料庫

drop database XXX      

PS:以上SQL指令都可以通過SQLServer的圖形化界面快速實作。

CREATE TABLE dbo.Products  
   (ProductID int PRIMARY KEY NOT NULL,  
   ProductName varchar(25) NOT NULL,  
   Price money NULL,  
   ProductDescription varchar(max) NULL)  
GO        

!

  • 作       者 : Yaopengfei(姚鵬飛)
  • 部落格位址 : http://www.cnblogs.com/yaopengfei/
  • 聲     明1 : 如有錯誤,歡迎讨論,請勿謾罵^_^。
  • 聲     明2 : 原創部落格請在轉載時保留原文連結或在文章開頭加上本人部落格位址,否則保留追究法律責任的權利。