MysQL的安裝和使用
MySQL產(chǎn)品的介紹
MySQL數(shù)據(jù)庫隸屬于于MySQL AB公司,總 部位于瑞典,后被oracle收購。
MysQL的特點(diǎn):
1:運(yùn)行速度:
MySQL的運(yùn)行速度相當(dāng)塊, ,MySQL的開發(fā)人員相信他是目前最快的數(shù)據(jù)庫系統(tǒng)之一,你可以查詢一下最近十年來 MySQL的排名,它一直在數(shù)據(jù)庫開發(fā)排行榜的前三名。
2:易用性:
MySQL是一個(gè)相對簡單的、高性能數(shù)據(jù)庫系統(tǒng),與其他大型數(shù)據(jù)庫系統(tǒng)相比,他的數(shù)值和管理都要簡單很多
3:SQL支持
MySQL支持的結(jié)構(gòu)化語言時(shí)目前所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)都選用的標(biāo)準(zhǔn)語言
4:功能性
MySQL服務(wù)器支持多線程,因此允許多個(gè)客戶端同時(shí)與他鏈接。每個(gè)客戶端可以使用多個(gè)數(shù)據(jù)庫。與MySQL進(jìn)行交互的接口很多,通過他們輸入查詢命令,并查看查詢結(jié)果,主要的接口類型包括命令行客戶端、web瀏覽器和GUI客戶端。
5:連接性和安全性
MySQL完全支持網(wǎng)絡(luò)化,用戶可以從因特網(wǎng)上的任何地點(diǎn)訪問數(shù)據(jù)庫,因此你可以與任何地方的任何人共享數(shù)據(jù)。由于MySQL擁有訪問訪問控制功能,特可以保證連接的乙方完全看不到另一方的數(shù)據(jù)
6:可移植性
MySQL 除了可以運(yùn)行在widows上,還可以與運(yùn)行在各種版本的Unix和Linux上。
7:可用性和成本
MySQL 時(shí)一個(gè)共享項(xiàng)目,有很多許可條款可供選擇。社區(qū)版(免費(fèi))和企業(yè)版(收費(fèi))
8:公開發(fā)行和源代碼
獲取MySQL的方法很簡單,只需要瀏覽器即可。如果對某些工作原理有不太明白的地方,或者對某個(gè)算法感到好奇,或者想要進(jìn)行安全審查,你可以獲取他的源代碼,并對他進(jìn)行檢查
MySQL的安裝
打開瀏覽器,在地址欄輸入 :https://dev.mysql.com/ , 注意這是MtSQL的官方網(wǎng)站。
在下面找到這個(gè)按鈕

進(jìn)去之后點(diǎn)擊這個(gè)按鈕

選擇電腦的系統(tǒng)

選擇下載

安裝好之后在widows命令行窗口輸入MySQL

出現(xiàn)這個(gè)就代表安裝成功,可以運(yùn)行
MtSQL的使用
1進(jìn)入 mysql, 在命令行中輸入: mysql –uroot –p#### (其中:####表示密碼)
2 查看 mysql 中有哪些個(gè)數(shù)據(jù)庫: show databases;
3使用一個(gè)數(shù)據(jù)庫: use 數(shù)據(jù)庫名稱;
4新建一個(gè)數(shù)據(jù)庫: create database 數(shù)據(jù)庫名
5查看指定的數(shù)據(jù)庫中有哪些數(shù)據(jù)表: show tables;
6查看表的結(jié)構(gòu):desc 表名
7刪除表: drop table 表名
創(chuàng)建數(shù)據(jù)表
在數(shù)據(jù)庫中,數(shù)據(jù)表時(shí)數(shù)據(jù)庫中最重要的、最基本的操作對象,時(shí)數(shù)據(jù)存儲的基本單位。數(shù)據(jù)表被定義為列的集合,數(shù)據(jù)在表中時(shí)按照行和列的格式來存儲的。每一行代表一條唯一的記錄。每一列代表記錄的一個(gè)域。
創(chuàng)建數(shù)據(jù)表的語法:
create table 表名
(
列名數(shù)據(jù)類型[列級別約束條件] [默認(rèn)值],
列名數(shù)據(jù)類型[列級別約束條件] [默認(rèn)值],
列名數(shù)據(jù)類型[列級別約束條件] [默認(rèn)值],
列名數(shù)據(jù)類型[列級別約束條件] [默認(rèn)值],
....
[表級別約束條件]
)
注意:
由于數(shù)據(jù)表屬于數(shù)據(jù)庫,在創(chuàng)建數(shù)據(jù)表之前,應(yīng)該使用語句“ use 數(shù)據(jù)庫名”指定操作是在呢個(gè)數(shù)據(jù)庫中進(jìn)行,如果沒有選擇數(shù)據(jù)庫,會拋出“No database selected"的錯(cuò)誤。在使用該命令創(chuàng)建數(shù)據(jù)表時(shí),必須指定以下信息:
1:要創(chuàng)建的表的名稱,不區(qū)分大小寫,不能使用SQL語言中的關(guān)鍵字,如 DROP、 ALTER、INSERT、和DESC等。
2:數(shù)據(jù)表中的每一列(字段)的名稱和數(shù)據(jù)類型。
3:多個(gè)列之間使用都好進(jìn)行分割。
MySQL的數(shù)據(jù)類型
MySQL支持多種數(shù)據(jù)類型,主要有數(shù)值類型、日期/時(shí)間類型、字符串類型和二進(jìn)制數(shù)據(jù)類型。
數(shù)值類型:
數(shù)值類型時(shí)現(xiàn)實(shí)生活中經(jīng)常遇到的數(shù)據(jù)類型之一,例如:公司的員工數(shù)、銷售額、利潤、工資、學(xué)生的考試分?jǐn)?shù)以及年齡等。只有使用了數(shù)值類型的列,才能進(jìn)行匯總運(yùn)算、平均值運(yùn)算等數(shù)學(xué)統(tǒng)計(jì)或者數(shù)學(xué)計(jì)算。
| 類型 | 大小 | 范圍(有符號) | 范圍(無符號) | 用途 |
|---|---|---|---|---|
| TINYINT | 1 byte | (-128,127) | (0,255) | 小整數(shù)值 |
| SMALLINT | 2 bytes | (-32 768,32 767) | (0,65 535) | 大整數(shù)值 |
| MEDIUMINT | 3 bytes | (-8 388 608,8 388 607) | (0,16 777 215) | 大整數(shù)值 |
| INT或INTEGER | 4 bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整數(shù)值 |
| BIGINT | 8 bytes | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 極大整數(shù)值 |
| FLOAT | 4 bytes | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 單精度 浮點(diǎn)數(shù)值 |
| DOUBLE | 8 bytes | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 雙精度 浮點(diǎn)數(shù)值 |
| DECIMAL | 對DECIMAL(M,D) ,如果M>D,為M+2否則為D+2 | 依賴于M和D的值 | 依賴于M和D的值 | 小數(shù)值 |
字符串類型:
字符串類型也是數(shù)據(jù)表中數(shù)據(jù)存儲的重要類型之一,字符串類型主要時(shí)用來存儲字符串或文本信息的。
| 類型 | 大小 | 用途 |
|---|---|---|
| CHAR | 0-255 bytes | 定長字符串 |
| VARCHAR | 0-65535 bytes | 變長字符串 |
| TINYBLOB | 0-255 bytes | 不超過 255 個(gè)字符的二進(jìn)制字符串 |
| TINYTEXT | 0-255 bytes | 短文本字符串 |
| BLOB | 0-65 535 bytes | 二進(jìn)制形式的長文本數(shù)據(jù) |
| TEXT | 0-65 535 bytes | 長文本數(shù)據(jù) |
| MEDIUMBLOB | 0-16 777 215 bytes | 二進(jìn)制形式的中等長度文本數(shù)據(jù) |
| MEDIUMTEXT | 0-16 777 215 bytes | 中等長度文本數(shù)據(jù) |
| LONGBLOB | 0-4 294 967 295 bytes | 二進(jìn)制形式的極大文本數(shù)據(jù) |
| LONGTEXT | 0-4 294 967 295 bytes | 極大文本數(shù)據(jù) |
日期和時(shí)間類型
MySQL 中有多種表示日期和時(shí)間的數(shù)據(jù)類型。其中YEAR表示年份,DATE表示日期,TIME表示時(shí)間
| 類型 | 大小 | 范圍 | 格式 | 用途 |
|---|---|---|---|---|
| DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
| TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 時(shí)間值或持續(xù)時(shí)間 |
| YEAR | 1 | 1901/2155 | YYYY | 年份值 |
| DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和時(shí)間值 |
| TIMESTAMP | 4 | 1970-01-01 00:00:00/2038結(jié)束時(shí)間是第 2147483647 秒,北京時(shí)間 2038-1-19 11:14:07,格林尼治時(shí)間 2038年1月19日 凌晨 03:14:07 | YYYYMMDD HHMMSS | 混合日期和時(shí)間值,時(shí)間戳 |
二進(jìn)制數(shù)據(jù)類型:
二進(jìn)制類型是在數(shù)據(jù)庫中存儲二進(jìn)制數(shù)據(jù)的數(shù)據(jù)類型,二進(jìn)制類型包括 BINARY、VARBINAPY、BIT、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB。