<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java-Android-jwebee
    Java-Android-jwebee
    對IT人來說,要成為一個優秀的技術型管理者,除了需要具備扎實的技術基礎之外,還應該培養良好的人際關系能力、談判與溝通技能、客戶關系與咨詢技能、商業頭腦和財務技能以及創新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發問題的能力.

    ????? SQL(STructured Query Language)是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。美國國家標準局(ANSI)與國際標準化組織(ISO)已經制定了 SQL 標準。ANSI 是一個美國工業和商業集團組織,發展美國的商務和通訊標準。ANSI 同時也是 ISO 和 International Electrotechnical Commission(IEC)的成員之一。ANSI 發佈與國際標準組織相應的美國標準。1992年,ISO 和 IEC 發佈了 SQL 的國際標準,稱為 SQL-92。ANSI 隨之發佈的相應標準是 ANSI SQL-92。ANSI SQL-92 有時被稱為 ANSI SQL。儘管不同的關聯式資料庫使用的 SQL 版本有一些差異,但大多數都遵循 ANSI SQL 標準。SQL Server 使用 ANSI SQL-92 的擴展集,稱為 T-SQL,其遵循 ANSI 制定的 SQL-92 標準。

    ????? SQL 語言包括兩種主要程式設計語言類別的陳述式: 資料定義語言 (DDL)與資料操作語言 (DML)。下面我們將介紹這兩類語言。

    DDL
     

    ????? DDL 用於定義和管理物件,例如資料庫、資料表以及檢視表。DDL 陳述式通常包括每個物件的CREATE、ALTER 以及 DROP 命令。舉例來說,CREATE TABLE、ALTER TABLE 以及 DROP TABLE 這些陳述式便可以用來建立新資料表、修改其屬性(如新增或刪除資料行)、刪除資料表等,下面我們會一一介紹。

    CREATE TABLE 陳述式
     

    使用 DDL 在 MyDB 資料庫建立一個名為 Customer_Data 的范例資料表,本章后面的例子我們會使用到這個資料表。如前所述,CREATE TABLE 陳述式可以用來建立資料表。這個范例資料表被定義成四個資料行,如下所示:

    Use MyDB
    CREATE TABLE Customer_Data
    (customer_id smallint,
    first_name char(20),
    last_name char(20),
    phone char(10))
    GO
    這個陳述式能產生 Customer_Data 資料表,這個資料表會一直是空的直到資料被填入資料表內。

    ALTER TABLE 陳述式
     

    ALTER TABLE 陳述式用來變更資料表的定義與屬性。在下面的例子中,我們利用 ALTER TABLE 在已經存在的 Customer_Data 資料表中新增 middle_initial 資料行。

    ALTER TABLE Customer_Data
    ADD middle_initial char(1)
    GO
    現在資料表的定義包括了五個資料行,而不是之前的四個資料行 。

    DROP TABLE 陳述式
     

    DROP TABLE 陳述式用來刪除資料表定義以及所有的資料、索引、觸發程序、條件約束以及資料表的權限。要刪除我們的 Customer_Data 資料表,可利用下列命令:

    DROP TABLE Customer_Data
    GO。

    DML
     

    DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等陳述式來操作資料庫物件所包含的資料。

    INSERT 陳述式
     

    INSERT 陳述式用來在資料表或檢視表中插入一列資料。例如,如果要在Customer_Data 資料表中新增一個客戶,可使用類似以下的 INSERT 陳述式:

    INSERT INTO Customer_Data
    (customer_id, first_name, last_name, phone)
    VALUES (777, "Frankie", "Stein", "4895873900")
    請注意 SQL 陳述式中第二行的資料行名稱清單,清單上資料行名稱的次序決定了資料數值將被放在哪個資料行。舉例來說,第一個資料數值將被放在清單列出的第一個資料行 customer_id、第二個資料數值放在第二個資料行,依此類推。由於我們在建立資料表時,定義資料資料行填入數值的次序與現在相同,因此我們不必特意指定欄位名稱。我們可以用以下的 INSERT 陳述式代替:

    INSERT INTO Customer_Data
    VALUES (777, "Frankie", "Stein", "4895873900")

    注意

    如果使用這種形式的 INSERT 陳述式,但被插入的數值次序上與建立資料表時不同,數值將被放入錯誤的資料行。如果資料的型別與定義不符,則會收到一個錯誤訊息。


    --------------------------------------------------------------------------------

    SELECT 陳述式
     

    SELECT 陳述式用來檢索資料表中的資料,而哪些資料被檢索由列出的資料行與陳述式中的 WHERE 子句決定。例如,要從之前建立的 Customer_Data 資料表中檢索 customer_id 以及 first_name 資料行的資料,并且只想取出每列中 first_name 資料行值為 Frankie 的資料,那麼可以利用以下的 SELECT 陳述式:

    SELECT customer_id, first_name FROM Customer_Data
    WHERE first_name = "Frankie"
    如果有一列符合 SELECT 陳述式中的標準,則結果將顯示如下:

    customer_id???? first_name
    -------------??? ------------
    777????????????? Frankie
    UPDATE 陳述式
     

    UPDATE 陳述式用來更新或改變一列或多列中的值。例如,一位名稱為 Frankie Stein 的客戶想要在記錄中改變他的姓氏為 Franklin,可使用以下 UPDATE 陳述式:

    UPDATE Customer_Data
    SET first_name = "Franklin"
    WHERE last_name = "Stein" and customer_id= 777
    我們在 WHERE 子句中加入 customer_id 的項目來確定其他名稱為 Stein 的客戶不會被影響-只有customer_id為777的客戶,姓氏會有所改變。

    --------------------------------------------------------------------------------

    說明

    當您使用 UPDATE 陳述式時,要確定在 WHERE 子句提供充份的篩選條件,如此才不會不經意地改變了一些不該改變的資料。


    --------------------------------------------------------------------------------

    DELETE 陳述式
     

    DELETE 陳述式用來刪除資料表中一列或多列的資料,您也可以刪除資料表中的所有資料列。要從 Customer_Data 資料表中刪除所有的列,您可以利用下列陳述式:

    DELETE FROM Customer_Data

    DELETE Customer_Data
    資料表名稱前的 FROM 關鍵字在 DELETE 陳述式中是選擇性的。除此之外,這兩個陳述式完全相同。

    要從 Customer_Data 資料表中刪除 customer_id 資料行的值小於100的列,可利用下列陳述式:

    DELETE FROM Customer_Data
    WHERE customer_id < 100
    現在我們已經快速瀏覽了 SQL 提供的 DDL 與 DML 陳述式,接著,下面將介紹 T-SQL。

    SQL中的五種數據類型?

    簡要描述一下SQL中的五種數據類型:字符型,文本型,數值型,邏輯型和日期型

    字符型

    VARCHAR VS CHAR

    VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字符串長度小于255的字符。

    假如你向一個長度為四十個字符的VARCHAR型字段中輸入數據BIll GAtES。當你以后從這個字段中取出此數據時,你取出的數據其長度為十個字符——字符串Bill Gates的長度。 現在假如你把字符串輸入一個長度為四十個字符的CHAR型字段中,那么當你取出數據時,所取出的數據長度將是四十個字符。字符串的后面會被附加多余的空格。

    當你建立自己的站點時,你會發現使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段時,你不需要為剪掉你數據中多余的空格而操心。

    VARCHAR型字段的另一個突出的好處是它可以比CHAR型字段占用更少的內存和硬盤空間。當你的數據庫很大時,這種內存和磁盤空間的節省會變得非常重要

    文本型

    TEXT

    使用文本型數據,你可以存放超過二十億個字符的字符串。當你需要存儲大串的字符時,應該使用文本型數據。

    注意文本型數據沒有長度,而上一節中所講的字符型數據是有長度的。一個文本型字段中的數據通常要么為空,要么很大。

    當你從HTML fORM的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲于文本型字段中。但是,無論何時,只要你能避免使用文本型字段,你就應該不適用它。文本型字段既大且慢,濫用文本型字段會使服務器速度變慢。文本型字段還會吃掉大量的磁盤空間。

    一旦你向文本型字段中輸入了任何數據(甚至是空值),就會有2K的空間被自動分配給該數據。除非刪除該記錄,否則你無法收回這部分存儲空間。

    數值型

    SQL支持許多種不同的數值型數據。你可以存儲整數 INT 、小數 NUMERIC、和錢數 MONEY。

    INT VS SMALLINT VS TINYINT

    他們的區別只是字符長度:

    INT型數據的表數范圍是從-2,147,483,647到2,147,483,647的整數

    SMALLINT 型數據可以存儲從-32768到32768的整數

    TINYINT 型的字段只能存儲從0到255的整數,不能用來儲存負數

    通常,為了節省空間,應該盡可能的使用最小的整型數據。一個TINYINT型數據只占用一個字節;一個INT型數據占用四個字節。這看起來似乎差別不大,但是在比較大的表中,字節數的增長是很快的。另一方面,一旦你已經創建了一個字段,要修改它是很困難的。因此,為安全起見,你應該預測以下,一個字段所需要存儲的數值最大有可能是多大,然后選擇適當的數據類型。

    MUNERIC

    為了能對字段所存放的數據有更多的控制,你可以使用NUMERIC型數據來同時表示一個數的整數部分和小數部分。NUMERIC型數據使你能表示非常大的數——比INT型數據要大得多。一個NUMERIC型字段可以存儲從-1038到1038范圍內的數。NUMERIC型數據還使你能表示有小數部分的數。例如,你可以在NUMERIC型字段中存儲小數3.14。

    當定義一個NUMERIC型字段時,你需要同時指定整數部分的大小和小數部分的大小。如:MUNERIC(23,0)

    一個 NUMERIC型數據的整數部分最大只能有28位,小數部分的位數必須小于或等于整數部分的位數,小數部分可以是零。

    MONEY VS SMALLMONEY

    你可以使用 INT型或NUMERIC型數據來存儲錢數。但是,專門有另外兩種數據類型用于此目的。如果你希望你的網點能掙很多錢,你可以使用MONEY型數據。如果你的野心不大,你可以使用SMALLMONEY型數據。MONEY型數據可以存儲從-922,337,203,685,477.5808到922,337,203,685,477.5807的錢數。如果你需要存儲比這還大的金額,你可以使用NUMERIC型數據。

    SMALLMONEY型數據只能存儲從-214,748.3648到214,748.3647 的錢數。同樣,如果可以的話,你應該用SMALLMONEY型來代替MONEY型數據,以節省空間。

    邏輯型

    BIT

    如果你使用復選框( CHECKBOX)從網頁中搜集信息,你可以把此信息存儲在BIT型字段中。BIT型字段只能取兩個值:0或1。

    當心,在你創建好一個表之后,你不能向表中添加 BIT型字段。如果你打算在一個表中包含BIT型字段,你必須在創建表時完成。

    日期型

    DATETIME VS SMALLDATETIME

    一個 DATETIME型的字段可以存儲的日期范圍是從1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

    如果你不需要覆蓋這么大范圍的日期和時間,你可以使用SMALLDATETIME型數據。它與DATETIME型數據同樣使用,只不過它能表示的日期和時間范圍比DATETIME型數據小,而且不如DATETIME型數據精確。一個SMALLDATETIME型的字段能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。

    DATETIME型字段在你輸入日期和時間之前并不包含實際的數據。



    jwebee

    我的個人網站
    posted on 2006-12-30 10:19 周行 閱讀(230) 評論(0)  編輯  收藏 所屬分類: IT技術
    Java-Android-jwebee
    主站蜘蛛池模板: 国产精品亚洲аv无码播放| 亚洲午夜久久影院| 亚洲色无码专区在线观看| 亚洲AV无码AV日韩AV网站| 在线观看免费高清视频| 亚洲av永久无码精品天堂久久| 日韩精品极品视频在线观看免费| 久久亚洲国产成人精品性色| 久久精品毛片免费观看| 亚洲国产一区在线| 四虎精品视频在线永久免费观看| 亚洲午夜久久久精品电影院| 免费无码又爽又刺激聊天APP| 亚洲综合小说另类图片动图| 国产精品冒白浆免费视频| 疯狂做受xxxx高潮视频免费| 亚洲午夜日韩高清一区| 亚洲欧洲无码AV不卡在线| 98精品全国免费观看视频| 亚洲精品在线免费观看视频| 青苹果乐园免费高清在线| 亚洲αⅴ无码乱码在线观看性色| 亚洲国产精品嫩草影院久久 | 国产羞羞的视频在线观看免费 | 国产免费无遮挡精品视频| 亚洲成av人片不卡无码| 一个人看www在线高清免费看| 亚洲爆乳大丰满无码专区| 国产精品V亚洲精品V日韩精品| 日韩免费的视频在线观看香蕉| 亚洲欧洲日韩国产| 成人永久免费福利视频网站| 99久久99这里只有免费的精品| 亚洲精品国产自在久久| 国产精品亚洲lv粉色| 亚洲日韩精品一区二区三区无码 | 国产高潮久久免费观看| 亚洲国产精品无码久久九九| 大地资源在线资源免费观看| 中文字幕在线观看亚洲日韩| 国产亚洲精品久久久久秋霞 |