SQL語言與MySQL列類型,sqlmysql列

來源:互聯網
上載者:User

SQL語言與MySQL列類型,sqlmysql列
轉載請表明出處:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
一、SQL簡介1.SQL語言    結構化查詢語言 (SQL)SQL(Structured Query Language)是一種它是一個綜合的、通用的、功能極強同時又簡潔易學的語言,是使用關聯式模式的資料庫應用語言。SQL語言集資料查詢(data query)、資料操縱(data manipulation)、資料定義(data definition)和資料控制(data control)功能於一體,充分體現了關係資料語言的特點和優點。2.SQL語句分類(1)DDL(Data manipulation language)語句:資料定義語言 (Data Definition Language),這些語句定義了不同的資料區段、資料庫、表、列、索引等資料對象,常用的語句關鍵字主要包括create、drop、alter等。(2)DML(Data manipulation language)語句:資料庫動作陳述式,用於添加、刪除、更新和查詢資料庫紀錄,並檢查資料庫的完整性。常用的語句關鍵字主要包括insert、delete、update、select等。(3)DCL(Date Control Language)語句:資料庫控制語句,使用者控制不同的資料區段直接的許可和存取層級的語句。這些語句定義了資料庫、表欄位、使用者的存取權限和安全層級。主要的語句關鍵字包括grant、revike等。注釋:DDL是資料定義語言 (Data Definition Language)的縮寫,簡單來說,就是對資料庫內部的對象進行建立、刪除、修改等操作的語言。它和DML語句的最大區別就是DML只是對內部資料操作,而不涉及表的定義、結構的修改,更不涉及其他對象。DDL語句更多的有資料庫管理員(DBA)使用,開人員一般很少使用。3.SQL基本語句(1)庫的基本操作◆串連資料庫(針對MySQL)命令:mysql    -h[IP地址/主機名稱]     -u[使用者名稱]    -p[密碼]說明:-h     host主機(遠程MySQL伺服器IP地址)            -u    使用者名稱            -p    密碼         ◆查看資料庫
命令:show databases;◆建立資料庫
命令:create database [建立資料庫的名稱];◆選擇資料庫
命令:use [資料庫名稱];◆刪除資料庫
命令:drop database [刪除資料庫名稱];(2)表的基本操作◆查看當前庫中的表
命令:show tables;◆建立表
命令:create table [建立的表名] (                        [列(欄位)名1]     [列類型]    [約束條件]     [預設值]                        , [列(欄位)名2]     [列類型]    [約束條件]    [預設值]                          ...................                        )engine = 儲存引擎 charset = 字元集;注意:建立表前必須進入到資料庫中或者指定在哪個庫中進行建立。 ◆查看錶的定義
命令:desc [表名]; 或者 select * from [表名];◆查看錶的建立過程
命令:show create table [表名] \G;◆刪除表
命令:delete [表名];◆修改表(表中的欄位類型、欄位名、添加欄位、刪除欄位、修改表名)
①修改表中欄位屬性(不能修改欄位名)        alter table [表名] modify [欄位名] [欄位類型] [約束條件] [fisrt|after 列名];②修改表中欄位名及屬性        alter table [表名] change [源欄位名] [修改後的欄位名] [欄位類型] [約束條件] [fisrt|after 列名];③增加表欄位         alter table [表名] add [欄位名] [欄位類型] [約束條件] [first|after 列名];④刪除表欄位        alter table [表名] drop [欄位名];注意:[first|after 列名],用於修改欄位的排序,其中,after將新增的欄位添加在某一欄位後;first表示將建立的欄位放在該表第一列。◆修改表名
命令:alter table [表名] rename to [新表名];
二、MySQL簡介
1.MySQL簡介    MySQL是一個小型關係型資料庫管理系統,為一款著名、應用最廣泛的開來源資料庫軟體,MySQL的特點有:(1)適用於中小規模、關係型資料庫系統;(2)支援Linux/Unix,Windows等多種作業系統;(3)使用C和C++編寫,可移植性強;(4)通過API支援Python/Java/Perl/PHP等語言。典型的應用環境為:與Apache HTTP Server組合的LAMP平台或者與Nginx組合的LNMP平台。
2.MySQL預設庫(1)information schema 虛擬庫    用於儲存當前資料庫伺服器已有庫和表的統計資訊,不佔用物理磁碟空間其內的資料儲存在系統記憶體裡。(2)mysql 授權庫    儲存使用者的授權資訊,佔用物理磁碟空間(3)performance schema    儲存資料服務器,運行時的運行參佔用物理磁碟空間(4)test 公用庫    任意一個使用者串連到資料庫伺服器後,對此庫都擁有完全許可權佔用物理磁碟空間
三、MySQL列類型1.數值型(整型列,浮點型列)(1)整型列:tinyint、smallint、mediumint、int、bigint    a)整型列儲存範圍與所佔空間(1位元組=8位)           b)整型列的可選屬性    tinyint(M) unsigned zerofill        M:寬度,一個1到255 的整數,它表示用來顯示列中值的字元數。(在0填充的時候才有意義)        unsigned:無符號類型(非負)        zerofill:0填充(預設無符號)(2)浮點型與定點型    a)浮點型:float(M,D)    b)定點型:decimal(M,D)    其中,M表示精度(總位元,不包含點);D表示標度(小數位元),decimal更高精度2.字串類型    在字元長度一定時char的效能比varchar好,而在長度不確定時,char類型的欄位在使用時效能略差。(1)char(M)與Varchar(M)區別★char的長度是固定的,可儲存的字元數(M<=255);varchar(M)的長度是可以變化的,可儲存的位元組數(M<=65535)。     比如,儲存字串“abc",對於char (20),表示你儲存的字元將佔20個位元組(包括17個Null 字元),而同樣的varchar(20)則只佔用3個位元組的長度,20隻是最大值,當你儲存的字元小於20時,按實際長度儲存。由於char是以固定長度的,所以它的速度會比 varchar快得多!但程式處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!★char的效率比varchar的效率稍高; varchar比char節省空間的,即要想獲得效率,就必須犧牲一定的空間。★char(M)實占M個字元,不夠M個,右側補空格,取出取出右側空格;varchar(M)有1-2個位元組來標記真實的長度。(2)時間戳記    我們在開發中,精確到秒的時間表示方式不是用datetime,而是用int來表示時間戳記,用時間戳記方便計算並方便格式化成不同的顯示樣式。
3.時期時間類型
注意:特殊的NULL類型◇NULL 不是假,也不是真,而是"空" 任何運算子,◇判斷符碰到NULL,都得NULL◇ NULL的判斷只能用is null,is not null◇NULL 影響查詢速度,一般避免使值為NULL

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.