MySQL(一)MySQL基础介绍
最近的學習內容是數據庫相關的一些知識,主要以MySQL為主,參考書籍——《MySQL必知必會》
MySQL學習及下載地址:https://dev.mysql.com/
MySQL學習使用注意事項:
1、必須訪問一個已有的MySQL服務器,需要一個服務器賬號(一個登錄名和一個口令)
2、MySQL運行在所有主要平臺上,包括Windows、Linux、Solaris、Mac OSX等
3、一個客戶機軟件(用來實際運行MySQL命令的程序),最容易得到的是mysql命令行實用程序(包含在每個MySQL安裝中)
4、安裝MySQL時都會提示重要信息,比如安裝位置(默認)、root用戶口令、端口、服務或進程名等,都可以使用默認值
5、多個MySQL服務器副本可安裝于統一機器上,只要每個服務器使用不同的端口即可
?
一、數據庫基礎
1、數據庫
數據庫(database):一個以某種有組織的方式存儲的數據集合,保存有組織的數據的容器(通常是一個文件或一組文件)
數據庫管理系統(DBMS:database message system):數據庫是通過DBMS創建和操作的容器
?
2、表
表(table):某種特定類型數據的結構化清單
表是一種結構化文件,可用來存儲某種特定類型的數據
數據庫中每個表都有唯一的一個名字,用來標識自己,表名的唯一性取決于多個因素:如數據庫名等結合(相同數據庫不能出現名字相同的表,但不同數據庫可以使用相同的表名)
表具有一些特性,其定義了數據在表中如何存儲,比如:存儲什么類型的數據,數據如何分解,各部分信息如何命名等
描述表的這組信息可以稱為“模式”,其用來描述數據庫中特定的表以及整個數據庫(和其中表的關系)
模式(schema):關于數據庫和表的布局及特性的信息,一般指給予表的一些定義
?
3、列和數據類型
表由列組成,列中存儲著表中某部分的信息
列(column):表中的一個字段;所有表都有由一個或多個列組成的
分解數據:正確的將數據分解為多個列極為重要:例如省市縣應該是獨立的列,通過分解,才可能利用特定的列對數據進行排序和過濾,使得檢索和訪問更加方便(例如找出特定市縣的相關數據等)
數據類型(datatype):所容許的數據的類型:數據庫中每個列都有相應的數據類型,其定義列可存儲的數據種類(限制/容許該列中存儲的數據)
作用:①限制可存儲在列中的數據種類(例如防止在數值字段中錄入字符值)
? ? ②幫助正確的排序數據
? ? ③對優化磁盤使用有重要作用
?
4、行
行(row):表中的一個記錄
表中的數據是按行存儲的,保存的每個記錄存儲在自己的行內;如果將表想象為網格,網格中垂直的列為表列,水平行為表行
?
5、主鍵
主鍵(primary key):一列或一組列,其值能夠唯一區分表中的每一行;唯一標識表中每行的這個列(或這組列)稱為主鍵
主鍵用來表示一個特定的行;沒有主鍵,更新或刪除表中特定行很困難,因為沒有安全的方法保證操作只涉及相關的行
主鍵并不總是需要,但大多數情況下都應保證每個表具有一個主鍵,以便于數據操作和管理
表中任何列都可以作為主鍵,只要滿足以下2個條件:
①任意兩行都不具有相同的主鍵值;
②每個行都必須具有一個主鍵值(主鍵列不允許NULL值);
主鍵值規則:主鍵通常定義于表的一列上,但也可以一起使用多個列作為主鍵,這種情況下,上述2個條件必須應用到構成主鍵的所有列,所有列值的組合必須是唯一的(單個列可以不唯一)
設置主鍵的幾個好習慣:
①不更新主鍵列中的值;
②不重用主鍵列的值;
③不在主鍵中使用可能會更改的值(例如使用電話號碼作為主鍵以標識某個人,當該人更改電話號碼時,必須更改這個鍵)
?
二、SQL簡介
SQL:結構化查詢語言(Structured Query Language)縮寫,一種專門用來與數據庫通信的語言
設計SQL的目的是很好的完成一項任務,即提供一種從數據庫中讀寫數據的簡單有效的方法
優點如下:
①幾乎所有的DBMS都支持SQL
②SQL簡單易學,語句由描述性很強的英語單詞構成,而且單詞的數目并不多
③一門強有力的語言,靈活使用其語言元素,可進行非常復雜和高級的數據庫操作
?
三、MySQL簡介
MySQL是一種DBMS,即它是一種數據庫軟件
MySQL優點:
①成本低,MySQL開放源代碼,一般都可以免費使用甚至免費修改
②性能好,MySQL執行效率很快
③很多大型公司(包括一些全世界知名的互聯網企業)使用MySQL來處理自己的重要數據
④簡安裝使用非常容易
1、客戶機-服務器軟件
DBMS可分為兩類:一類為基于共享文件系統的DBMS(包括諸如Microsoft和FileMaker),用于桌面用途,通常不用于高端或更關鍵的應用;一類為基于客戶機-服務器的DBMS
常見的例如MySQL、Oracle、Microsoft SQL Server等數據庫是基于客戶機-服務器的數據庫,分為2個部分:
服務器部分是負責所有數據訪問和處理的一個軟件,該軟件運行在稱為數據庫服務器的計算機上;關于數據增刪改查的所有請求都由服務器軟件完成,這些請求來自客戶機軟件的計算機
客戶機部分是與用戶打交道的軟件,由客戶機軟件通過網絡提交請求給服務器軟件,服務器軟件根據需要處理數據,然后將結果返回給客戶機軟件
服務器軟件為MySQL DBMS,可在本地安裝的副本上運行,也可以連接到運行在你具有訪問權的遠程服務器上的一個副本
客戶機可以是MySQL提供的工具、腳本語言(如Perl)、Web應用開發語言(如ASP、ColdFusion、JSP和PHP)、程序設計語言(如Java、C、C++)等
?
2、MySQL工具
MySQL是一個客戶機-服務器DBMS,使用它需要一個客戶機,即用來與MySQL打交道(給MySQL提供需要執行的命令)的應用;最好使用專門用途的實用程序,推薦如下三個:
①MySQL命令行實用程序
該程序是安裝MySQL時自帶的一個簡單命令行實用程序;沒有下拉菜單、用戶界面、鼠標支持或其他支持的東西,但最好熟悉它,因為它是使用者安全依靠的一個客戶機
②MySQL Adiministrator
MySQL Adiministrator(MySQL管理器)是一個圖形交互客戶機,用來簡化MySQL服務器的管理
下載地址:http://dev.mysql.com/downloads/
③MySQL Query Browser
MySQL Query Browser(MySQL查詢瀏覽器)是一個圖形交互客戶機,用來編寫和執行MySQL命令
下載地址:http://dev.mysql.com/downloads/
?
四、連接MySQL及簡單操作
連接MySQL數據庫需要以下這些條件:
①主機名(計算機名):如果是本地MySQL服務器,為localhost
②端口:如果使用默認端口,則為3306
③一個合法的用戶名
④用戶口令:即登陸密碼(如果需要)
1、選擇數據庫
安裝并且成功連接數據庫之后,需要選擇一個數據庫,如果使用的是命令行實用程序,則可以使用user關鍵字(比如:user tables;)
關鍵字(key word):MySQL語言組成部分的保留字,決不能用關鍵字命名一個表或列
?
2、了解數據庫和表
數據庫、表、列、用戶以及權限等信息被存儲在數據庫和表中,內部表一般不直接訪問,可以使用show命令來顯示(比如:show tablebases;)
show tablebases;返回可用數據庫的一個列表
show tables;返回當前選擇的數據庫內可用表的列表
show也可用來顯示表列,比如:show columns from tables
自動增量:某些表列需要唯一值,例如:顧客ID,在每行添加到表中時,MySQL可以自動為每行分配下一個可用編號,不用手動分配,這個功能就是自動增量
? ? ? ? ? ? ? ?如果需要該功能,則需要在用create語句創建表時把它作為表定義的組成部分
其他常見show語句還有:
show status:用于顯示廣泛的服務器狀態信息
show create database 和show create table:分別用來顯示創建特定數據庫或表的MySQL語句
show grants:用于顯示授予用戶(所有用戶或特定用戶)的安全權限
show errors和show warnings:用于顯示服務器錯誤或警告消息
?
Has anything you've done made your life better?總結
以上是生活随笔為你收集整理的MySQL(一)MySQL基础介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经典MySQL语句大全和常用SQL语句命
- 下一篇: MySQL(二)数据的检索和过滤