Mysql 登陸&退出、建立&刪除&選擇資料庫、基礎資料型別 (Elementary Data Type)、建立&刪除表格,mysql登陸

來源:互聯網
上載者:User

Mysql 登陸&退出、建立&刪除&選擇資料庫、基礎資料型別 (Elementary Data Type)、建立&刪除表格,mysql登陸

登陸資料庫使用登陸命令:

shell>mysql [-h host] -u user -p [-D database]Enter password: 

-h指定的是遠程主機,登陸本機資料庫可以不用,-D 用於指定登陸之後選擇的資料庫,如果沒有指定資料庫,則不進行資料庫選擇。進入資料庫之後,每一條命令之前會有 mysql> 的提示符。mysql中的命令都嚴格以分號(;)作為命令結束。如果在一條命令沒輸入完之前換行,會出現 -> 的提示符。

退出資料庫的命令:

mysql>exit

或:

mysql>quit

這兩條後面可以不加分號

在mysql中建立資料庫的命令:

mysql>create database database_name;

在mysql中刪除資料庫的命令:

mysql>drop database database_name;

要明確使用(選擇)某個資料庫的命令:

mysql>use database_name;

每次使用某個資料庫前必須明確選擇使用它,也既是使用use命令。

在建立資料庫表格之前需要先瞭解mysql的資料類型。mysql主要有三類資料類型:數實值型別、時間&日期類型、字串類型。這個部分節選翻譯自第一條連結。

數實值型別:

  • int,正常整型數值,分為signed和unsigned,範圍分別是 -2147483648 到 2147483647 和 0 到
    4294967295
  • tinyint,超小整型數值,分為signed和unsigned,範圍分別是 -128 到 128 和 0 到 255
  • smallint,小型整型數值,分為signed和unsigned,範圍分別是 -32768 到 32768 和 0 到 65535
  • mediumint,中等整型數值,分為signed和unsigned,範圍分別是 -8388608 到 8388608 和 0 到
    16777215
  • bignit,大號整型數值,分為signed和unsigned,範圍分別是 -9223372036854775808 到
    9223372036854775808和 0 到 18446744073709551615
  • float(m, d),浮點型數值,不能為unsigned。可以設定顯示總長度m位元字和d位小數。預設情況下分別是10和2。
  • double(m,d),雙精確度浮點型數值,不能為unsigned。可以設定顯示總長度m位元字和d位小數。預設情況下分別是16和4。
  • decimal(m,d),一種未封裝的小數,不能為unsigned。每一位小數都對應一個位元組,需要明確定義總長度m位元字和d位小數。numeric和decimal是同義字。

時間&日期類型:

  • date,yyyy-mm-dd格式,範圍從1000-01-01到9999-12-31
  • datetime,yyyy-mm-dd hh:mm:ss格式,範圍從1000-01-01 00:00:00到9999-12-31
    23:59:59
  • timestamp,範圍從1970年1月1日0點0分0秒到2037年的某個時間,格式類似datetime,但是沒有連字號。例如1973年12月30日15點30分0秒對應19731230153000(yyyymmddhhmmss)
  • time,hh:mm:ss格式儲存。
  • year(m),2位或4位格式。指定2位時,例如year(2),能夠儲存1970年到2069年(70-69)。指定4位時,能夠儲存1901年到2155年,預設4位長度。

字串類型:

  • char(m),固定長度字串,長度從1到255,靠左對齊右填充,預設長度為1
  • varchar(m),變長字串,長度從1到255,定義式必須指定一個長度。實際上從官網解釋上看(第二條連結),從版本5.03及其以後,最大長度能到65535。長度小於等於255時,額外用一個位元組儲存長度值,長度超過255時,額外用2個位元組儲存長度值。
char(4) 儲存需求 varchar(4) 儲存要求
’ ‘ 4位元組 1位元組
‘ab’ ‘ab ‘ 4位元組 ‘ab’ 3位元組
‘abcd’ ‘abcd’ 4位元組 ‘abcd’ 5位元組
‘abcdefg’ ‘abcd’ 4位元組 ‘abcd’ 5位元組
  • blob和text,最大儲存65535個位元組。blob將資料當作位元組儲存,可以儲存圖片、聲音等資料;text依然將資料當作字元儲存。無需為blob和text指定長度。具體參考第三條連結。
  • tinyblob和tinytext,最大儲存255個位元組,其餘特性和blob/text一致
    mediumblob和mediumtext,最大儲存16777215個位元組,其餘特性和blob/text一致
  • longblob和longtext,最大儲存4294967295個位元組,其餘特性和blob/text一致
  • enum,枚舉類型,枚舉最多可以有65535個元素,枚舉型欄位中除列舉字串之外,可以為NULL,若插入非法字串,將用空(”)字串代替。關於枚舉類型,更多參見第四條連結

在資料庫中建立表格的命令:

mysql>create table table_name (cloumn_name colume_type, colunm_name colunm_type ...);

列項除了有資料類型,還可以添加一些別的屬性,例如 not null, auto_increment, default等。還可以指定主鍵,設定資料庫引擎,設定字元集等。例如:

mysql>create table hotel (        -> `id` int unsinged not null auto_increment,        -> `default test` int default 0,        -> `num` char(4) not null,        -> `price` varchar(5) not null,        -> `position` varchar(30) not null,        -> `describe` text,        -> `available` enum('y', 'n'),        -> primary key(`id`));

有幾點需要注意:

  • ` 叫反引號,號是Esc下面的那個按鍵。在mysql語句中,如果建立表格時候表格的名字或屬性欄位跟系統關鍵字重名,或者名字中間包括空白字元,可以利用反引號把名字括起來,mysql只保留反引號內的內容。同時要注意,用其他引號括起來都不對,因為mysql會認為引號是欄位的起始字元,這不符合命名規則。
  • text類型不能有預設值。需要預設值的可以在欄位後面用 default 註明。
  • 利用 primary key(column_name, column) 來設定主鍵,多個列項之間用逗號隔開。

在資料庫中刪除表格的命令:

mysql>drop table table_name;

如果為了保證即使沒有表存在,也不至於語句出錯,可以使用下面的命令:

mysql>drop table if exists table_name;

參考連結:
http://www.tutorialspoint.com/mysql/mysql-data-types.htm
https://dev.mysql.com/doc/refman/5.0/en/char.html
https://dev.mysql.com/doc/refman/5.0/en/blob.html
https://dev.mysql.com/doc/refman/5.0/en/enum.html

相關文章

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.