數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,每一個數據庫都有一個或多個不一樣的API用於建立,訪問,管理,搜索和複製所保存的數據。html
咱們也能夠將數據存儲在文件中,可是在文件中讀寫數據速度相對較慢。mysql
因此,如今咱們使用關係型數據庫管理系統(RDBMS)來存儲和管理的大數據量。所謂的關係型數據庫,是創建在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據,是由二維表及其之間的關係組成的數據組織sql
RDBMS即關係數據庫管理系統(Relational Database Management System)的特色:數據庫
- 1.數據以表格的形式出現
- 2.每行爲各類記錄名稱
- 3.每列爲記錄名稱所對應的數據域
- 4.許多的行和列組成一張表單
- 5.若干的表單組成database
簡單講:數據庫就是存儲和管理數據的容器編程
嚴格講:數據庫是按照某種數據結構對數據進行存儲, 組織和管理的容器安全
1.概述:服務器
- 對數據庫中數據的訪問: 添, 刪, 改, 查等操做
- 對數據庫的維護: 備份, 恢復, 修復等操做
2.常見的數據庫管理系統數據結構
- MySQL – 免費, 開源的數據庫系統, 普遍應用於中小型應用
- Oracle – 功能齊全, 技術領先的數據庫系統, 主要應用於大型企業數據庫領域
- SQL Server – Microsoft的產品, 軟件界面友好, 易學易用
- PostgreSQL – 加州大學伯克利分校以教學爲目的開發的數據庫系統
- DB2 – IBM的產品, 最先使用SQL語言的數據庫系統
3.RDBMS 術語(瞭解)多線程
- 數據庫: 數據庫是一些關聯表的集合。
- 數據表: 表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。
- 列: 一列(數據元素) 包含了相同的數據, 例如郵政編碼的數據。
- 行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。
- 冗餘:存儲兩倍數據,冗餘下降了性能,但提升了數據的安全性。
- 主鍵:主鍵是惟一的。一個數據表中只能包含一個主鍵。你可使用主鍵來查詢數據。
- 外鍵:外鍵用於關聯兩個表。
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。編程語言
- 特色:
- MySQL是一個單進程多線程,支持多用戶, 基於客戶端/服務器的關係型數據庫管理系統
- 優點:
- Mysql是開源的,因此你不須要支付額外的費用。
- Mysql支持大型的數據庫。能夠處理擁有上千萬條記錄的大型數據庫。
- MySQL使用標準的SQL數據語言形式。
- Mysql能夠容許於多個系統上,而且支持多種語言。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
- Mysql對PHP有很好的支持,PHP是目前最流行的Web開發語言。
- MySQL支持大型數據庫,支持5000萬條記錄的數據倉庫,32位系統表文件最大可支持4GB,64位系統支持最大的表文件爲8TB。
- Mysql是能夠定製的,採用了GPL協議,你能夠修改源碼來開發本身的Mysql系統。(開源免費、簡答易用、性能優越、功能強大)
1.常見操做
- 清楚命令窗口信息 : cls
- 查看mysql版本信息 mysql -V (大寫的V)
- 啓動:net start mysql
- 中止:net stop mysql
- 登陸:mysql -u用戶名 -p密碼
2.解決不是內部命令的問題
找到計算機 ——>屬性 高級系統設置 ——> 環境變量 ——>Path ——> 編輯
1.修改命令提示符
1.第一方式 : 登陸時 經過傳遞參數修改, mysql -uroot -proot --prompt 命令提示符名稱 ;
2.二種方式:登錄後使用命令修改: prompt 命令提示符名稱 ;
2.常見的命令提示符的分類
- \h 服務器名稱
- \D 完整的日期
- \d 當前數據庫
- \u 當期用戶
1,查詢版號 mysql -V select version()
注意 結尾必定要加上英文狀態的分號,不然命令不完整
2.查詢當前時間 select now();
3.查詢當前用戶 select user();
4.SQL語句規範
- 關鍵字 函數名所有大寫
- 數據庫名稱 表名稱 字段名稱 所有小寫
- SQL語句必須以分號 ; 結尾
1 建立數據庫
Create {DATABASE | SCHEMA } [ IF NOT EXISTS] db_name
[default] character set [ = ] character_name
- 中括號{}的意思 兩個中選擇一個
- 方括號[]的意思 可寫可不寫
- character_name 編碼格式的名稱
- IF NOT EXISTS 忽略錯誤信息
建立一個名稱爲 d1 的數據庫
查詢錯誤信息: Show warnings;
建立帶默認編碼格式的數據庫 create database d2 character set = utf8;
顯示數據庫建立時候的語句 show create database 數據庫名稱 ;
2 數據庫操做
- 展現全部的數據庫名稱列表
命令: show databases ;
選中要使用的數據庫
命令: use 數據庫名稱
3.展現數據庫中全部數據表
命令:show tables ;
4 展現表的屬性信息 主鍵信息 是否爲空等信息
命令:show columns form 表名稱;
5.查詢表的索引信息
命令:Show index from user;
6.刪除數據庫
語法結構 : Drop database [ IF exists ] db_name(數據庫名稱);
7.修改數據庫編碼格式
需求 :建立裏一個gbk編碼格式的數據庫,發現可能要存儲中文的數據,
第一種方式: 刪除數據庫從新建立
第二種方式: 直接修改編碼格式
命令: alter database數據庫名稱 character set utf8
8.修改 mysql 用戶密碼 使用update的方式直接修改第一步 登陸
命令: musql -uroot -proot
第二步 選中數據庫 mysql
命令:use mysql
第三步 更新密碼
命令:update user set password = password( ‘ 新密碼’ ) where user= ’root ’;
第四步 刷新
命令:flush privileges;
第五步 重啓mysql