第3章 MySQL教學範本 主從式資料庫系統 - CH3.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

2011/11,12 南台資管 吳昭儀. 1. 使用者介面 (User Interface)  使用者操作畫面的安排  Textbox, ComboBox, ListBox, CheckList, … 2. 流程控制 (Process Control)  使用者輸入資料檢查  計算  資料輸出.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
PHP 训练营 - MySQL OA 产品部 李鑫辉 2011 年 9 月. 内容提要 & 目录 1. 介绍 (10 分钟 ) 1.1. 简介 1.2. 特点 1.3. 安装 2. 语法 (60 分钟 ) 2.1. 存储引擎 MyISAM InnoDB 特点与区别.
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
SQL 入门 SQL:Structured query language 北京传智播客教育.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
關聯查詢.
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
高等院校计算机教材系列 数据库原理与应用(第2版) 任课教师:刘雅莉
Chap 11 SQL基本查詢指令.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
資料庫 (Database) SQL Server 2008實作
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
MySQL 使用者名稱:USERNAME (上限16個字元)
MySQL資料庫安全管理.
第4讲 MySQL服务器的配置与应用.
文科计算机小公共课规划教材 Access 程序设计.
第一讲 数据查询优化.
《计算机应用基础》 第六章 Access数据库管理系统
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
第3章 数据查询与SQL命令.
關聯式資料庫.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
Access 2007 進銷存管理系統實作 文魁資訊股份有限公司.
第六章 學習SQL語言.
資料庫系統 Database Systems
課程名稱:資料庫系統 授課老師:李春雄 博士
第十一章 資料庫設計與權限設定.
Chapter 12 T-SQL 語法與 ASP.NET.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
資料庫安全 (Database Security)
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
SQL Server 2000 数据库入门.
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
SQL SERVER 一些经典语句 1.
MySQL 結構化查詢語言 MySQL.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
第 10 章 数据库编程.
第20章 MySQL数据库.
数据库技术与应用.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
資料庫系統 李翊豪 2017/12/21 Reference
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第3章 MySQL教學範本 主從式資料庫系統 - CH3

本章宗旨 簡介伺服器連線與離線指令 簡介MySQL指令編輯方式 簡介資料庫建立、資料庫管理與資料處理常用指令 簡介MySQL進階應用指令型式 主從式資料庫系統 - CH3

大 綱 3-1 伺服器連線與離線 3-2 指令編輯方式 3-3 MySQL常用指令 3-4 MySQL進階應用 主從式資料庫系統 - CH3

3-1 伺服器連線與離線 連線指令常用型式: 指令一:mysql –h Host – u User -pPassword Enter password: ******** 指令三:mysql 主從式資料庫系統 - CH3

連線成功畫面 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.1.9-nt. Type ‘help’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql> 主從式資料庫系統 - CH3

連線失敗畫面 ERROR 1045 (28000) Access denied for ‘user’@’localhost’ (using password No) mysql> 主從式資料庫系統 - CH3

3-1-2 離線 離線指令型式: 離線畫面: mysql>QUIT Bye 指令一: QUIT 指令二: \q 主從式資料庫系統 - CH3

3-2 指令編輯方式 一行指令一道命令:指令編輯完成後,直接按【Enter】鍵執行命令 主從式資料庫系統 - CH3

3-2 指令編輯方式(續) 指令列若為標準SQL指令,必須加上 ”;”結束指令 不管指令列跨越幾行,一道命令只能包含一個 ”;” 指令列若為MySQL內部指令,則不用加上”;”,例如Use, Quit等 主從式資料庫系統 - CH3

3-2 指令編輯方式(續) 範例 mysql>Select User(), Current_date; (a) ->, ->Current_date; (b) ->\c (c) mysql>Use mysql (d) 主從式資料庫系統 - CH3

3-3 MySQL常用指令 3-3-1資料庫處理 3-2-2 資料表處理 3-3-3 索引表處理 3-3-4 載入資料 3-3-5 瀏覽資料 3-3-6 刪除資料 3-6-7 更新資料 主從式資料庫系統 - CH3

3-3-1資料庫處理 1. 建立資料庫 語法:Create Database資料庫名稱 ; 3-3-1資料庫處理 1. 建立資料庫 語法:Create Database資料庫名稱 ; 範例:Create Database Temp; 建立一個名稱為【Temp】之資料庫。 執行結果: 主從式資料庫系統 - CH3

2. 顯示資料庫明細 語法:Show Databases; 執行結果: 主從式資料庫系統 - CH3

3. 選用資料庫 語法:Use 資料庫名稱 範例:Use Temp; 螢幕會提示:Database Changed之信息

4. 刪除資料庫 語法: Drop Database資料庫名稱; 範例: Drop Database Temp; 主從式資料庫系統 - CH3

3-2-2 資料表處理 1. 建立資料表 語法:Create Table資料表名稱(欄位定義); 範例:CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); 主從式資料庫系統 - CH3

1. 建立資料表 欄位定義之格式為 欄位名稱 資料型態 (寬度) [Null | NOT Null] [Default 值] 欄位間須以”,”間隔 主從式資料庫系統 - CH3

2. 顯示資料表 語法:Show Tables; 執行結果: 主從式資料庫系統 - CH3

3. 顯示資料表結構 語法:Describe 資料表名稱; 範例:Describe pet; 執行結果: 主從式資料庫系統 - CH3

3-3-3 索引表處理 1. 建立索引表 語法:Create Index 索引表名稱 On 資料表名稱 (欄位名稱); 範例:CREATE Index pet1 On pet (name, owner); 主從式資料庫系統 - CH3

2. 顯示索引表 語法:Show Index From 資料表名稱 ; 範例:Show Index From pet; 結果: 主從式資料庫系統 - CH3

3-3-4 載入資料 1. 批次載入:限定固定格式文字檔 載入指令:Load Data Local Infile “外部檔案來源” Into Table 資料表名稱 Fields Terminated By “ “ [Line Terminated By ‘\r\n’]; 範例:Load Data Local Infile “C:\\mysql\\data\\test\\pet.txt” Into Table pet Fields Terminated By “ ”; 主從式資料庫系統 - CH3

1. 批次載入說明 文字檔內容以列為單位,固定格式 欄位間須以逗號或空格間隔開來,若以空格間隔,需記住空格個數 編輯檔案時,若每一列是以’\r\n’符號換行的話,則輸入命令需加上[Line Terminated By ‘\r\n’] 參數 一筆紀錄若有部分欄位為空白資料時,對應欄位需加上 [’\N’] 記號,MySQL會將此記號解譯為Null 主從式資料庫系統 - CH3

1. 批次載入說明 文字檔之欄數需和資料表欄數相同,否則會產生錯誤 若資料是從主控端上傳伺服端,則須加上[Local] 參數 檔案可置於其他路徑,命令列之檔案來源需加上檔案路徑 主從式資料庫系統 - CH3

2. 逐筆輸入 指令一: Insert Into 資料表名 Values (欄位資料串) ; 範例:Insert Into pet Values (‘Puffball’, ’Diane’, ’hamster’, ’f’, ’1990-03-30’, Null); 指令二: Insert Into 資料表名 (欄位串列) Values (欄位資料串) ; 主從式資料庫系統 - CH3

2. 逐筆輸入說明 若所有欄位都需要輸入資料時,使用指令一,否則使用指令二 指令二需要指定欄名,欄名間以逗號間隔 除了數值資料外,欄位資料須以雙引號或單引號夾住 欄位資料若為空值,請填入Null 主從式資料庫系統 - CH3

3-3-5 瀏覽資料 基本的指令格式 SELECT 欄位串列 FROM 資料來源 WHERE 資料範圍 ORDER BY欄位串列 GROUP BY欄位串列; 主從式資料庫系統 - CH3

3-3-5 瀏覽資料說明 SELECT: 用來指定輸出欄位名稱,可用*表示全部欄位,欄名間使用逗號間隔 FROM:用來指定資料來源,可同時查看兩個以上資料表 WHERE:用來設定輸出資料範圍,常見格式為指定欄名,再搭配關係運算子(諸如=、>、>=、<、<=、<>(代表不等於)),然後輸入待比對之欄位條件值。若有需要,還可以設定第二個比較欄位,但兩個欄位間要用邏輯運算子結合,諸如AND、OR 主從式資料庫系統 - CH3

3-3-5 瀏覽資料說明(續) ORDER BY 用來指定資料要以升冪(修飾辭為ASC)或降冪(修飾辭為DESC)順序輸出 同時指定兩個以上欄位排序時,欄位間需以逗號間隔,排序順序可不相同 主從式資料庫系統 - CH3

3-3-5 瀏覽資料說明(續) GROUP BY 用來指定群組欄位,若資料表內相同鍵值紀錄有多筆情況,而輸出資料需予以加總、平均、計算筆數等時,需指定群組欄位 群組欄位可指定一個以上,欄位間以逗號間隔 主從式資料庫系統 - CH3

1. 查看全部資料 指令: SELECT * FROM 單一資料表 ; 範例: SELECT * FROM pet; 執行結果: 主從式資料庫系統 - CH3

2. 查看部份資料(1) 指令:SELECT * FROM 單一資料表 WHERE 資料範圍 ; 範例:SELECT * FROM pet WHERE name = ’Bowser’; 執行結果: 主從式資料庫系統 - CH3

3. 查看部份資料 範例(2) : 範例(3): 範例(4): Select * from pet Where birth >= "1998-1-1"; 範例(3): Select * from pet Where species ="dog" and sex="f"; 範例(4): Select * from pet Where species = "snake" Or species = "bird"; 主從式資料庫系統 - CH3

3. 查看部份資料 範例(5): Select * from pet Where (species="cat" And sex="m") Or (species="dog" And sex="f"); 主從式資料庫系統 - CH3

7. 查看特定欄位資料 範例(1): 範例(2): 範例(3): 範例(4): Select name, birth From pet; Select owner From pet; 範例(3): Select DISTINCT owner From pet; 範例(4): Select name, species, birth From pet Where species = "dog" Or species = "cat"; 主從式資料庫系統 - CH3

10. 資料排序 升冪: Select name, species, birth From pet Order By species,birth Desc; 降冪 : Select name, birth From pet Order By birth desc; 混合排序 : Select name, species, birth From pet Order By species, birth Desc; 主從式資料庫系統 - CH3

13. 日期欄位計算 範例(1): Select name, birth, curdate(),(year(curdate())-year(birth))-(right(curdate(),5) <right(birth,5)) as age From pet; 計算結果另存一欄,可使用AS修飾辭指定欄名,本例欄名為”age”。指令中之curdate(), year(), right() 為MySQL內建函數,代表當日系統日期 主從式資料庫系統 - CH3

13. 日期欄位計算 範例(2): Select name, birth, curdate(),(year(curdate())-year(birth))-(right(curdate(),5) <right(birth,5)) as age From pet Order By name; 範例(3): Select name, birth, curdate(), (year(curdate())-year(birth))-(right(curdate(),5) <right(birth,5)) as age From pet Order By age; 以計算欄位排序 主從式資料庫系統 - CH3

13. 日期欄位計算 範例(4): Select name, birth, death, (year(death)-year(birth))-(right(death,5) <right(birth,5)) as age From pet where death Is Not NULL Order By age; 範例(5): Select name, birth, month(birth) From pet; month() 為MySQL內建函數,請注意欄名 主從式資料庫系統 - CH3

13. 日期欄位計算 範例(6): Select name, birth From pet Where month(birth) = 5; 此例以函數取值並據以當過濾條件 主從式資料庫系統 - CH3

19 欄位資料與樣板值比較 範例(1 ) 範例(2): Select * From pet where name LIKE "b%“ ; LIKE為條件值比較運算子,字母 b% 表示所有b 開頭之資料均符合 範例(2): Select * From pet where name LIKE "%fy“ ; %fy 表示所有字串尾有 fy 字母之資料均符合 主從式資料庫系統 - CH3

19 欄位資料與樣板值比較 範例(3) 範例(4): Select * From pet where name LIKE "%w%“ ; %w%表示所有字串中有w字母之資料均符合 範例(4): Select * From pet where name LIKE "_____“ ; 表示所有字串中字母個數等於指定空格數之資料均符合 主從式資料庫系統 - CH3

23. 紀錄筆數計算 範例(1) 範例(2): Select Count(*) From pet ; Select owner, Count(*) From pet Group By owner ; Count()函數搭配其他欄位使用時,必須加上GROUP BY修飾辭來使用 主從式資料庫系統 - CH3

23. 紀錄筆數計算 範例(3) Select owner, Count(*) AS “筆數” From pet Group By owner ; 以AS指定欄位別名,可用中文命名,但需以引號夾住 範例(4): Select species, sex, Count(*) From pet Group By species, sex ; 透過兩個群組欄位來統計筆數 主從式資料庫系統 - CH3

23. 紀錄筆數計算 範例(5) Select species, sex, Count(*) From pet Where sex Is Not Null Group By species, sex ; 搭配過濾條件來統計筆數 主從式資料庫系統 - CH3

3-3-6 刪除資料 基本指令型式: DELETE FROM 資料來源 WHERE 資料範圍 ; 主從式資料庫系統 - CH3

3-3-6 刪除資料(續) 刪除資料不需指定欄位串列,因為刪除資料時,是將整筆紀錄刪除,而不能刪除部份欄位 刪除資料之時機通常是有時效性者 刪除資料和刪除資料表是不同性質的,刪除資料時,資料表結構還留存在資料庫內,但刪除資料表卻是將整個資料表從資料庫移除 主從式資料庫系統 - CH3

3-3-6 刪除資料(續) 範例 Delete From pet Where birth <’1993-01-01’ ; Delete From pet Where owner=’Gwen’ And species=’cat’ ; Delete From pet; 主從式資料庫系統 - CH3

3-3-6 刪除資料(續) 透過第二個資料表來挑選待刪除資料 一道刪除指令同時刪除兩個表的資料 DELETE t1 FROM t1, t2 WHERE t1.key_field = t2.key_filed ; 一道刪除指令同時刪除兩個表的資料 DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id1=t3.id1; 主從式資料庫系統 - CH3

3-6-7 更新資料 基本指令型式: UPDATE資料表名稱 SET 欄位名稱 = 更新資料 , [後續欄位] WHERE 資料範圍 ; 主從式資料庫系統 - CH3

3-6-7 更新資料(續) 更新資料之時機 : 原輸入之資料錯誤,事後發現錯誤 時效過期 異動檔資料轉入主控檔(例如會計之過帳) 主從式資料庫系統 - CH3

3-6-7 更新資料(續) 將全部資料之死亡日期移除 將名字叫”Bowser”之死亡日期註記 將名字為Slim之出生日期及性別更改 Update pet SET death=NULL; 將名字叫”Bowser”之死亡日期註記 Update pet SET death=’1995-07-29’ Where name =’ Bowser’; 將名字為Slim之出生日期及性別更改 Update pet SET birth=’1995-04-29’ , sex=’m’ Where name=’Slim’; 主從式資料庫系統 - CH3

3-4 MySQL進階應用 3-4-1 連結兩個資料表 同時輸出兩個資料表之處理指令: SELECT 欄位串列(可以間隔使用第一和第二資料表之欄位) FROM 第一資料表,第二資料表 WHERE第一資料表.鍵值欄名 = 第二資料表.鍵值欄名 ; 鍵值欄名通常是兩個表欄名相同者,鍵值欄名可指定一個以上,但要用AND連結。 主從式資料庫系統 - CH3

同時輸出兩個資料表 範例: Select pet.name (Year(date)-year(birth))-(Right(date,5)<Right(birth,5)) AS '年齡', remark From pet, event Where pet.name = event.name And type= "生產" 主從式資料庫系統 - CH3

3-4-2 同一資料表呼叫兩次 範例: Select p1.name, p1.sex, p2.name, p2.sex, p1.species From pet AS p1, pet As p2 Where p1.species = p2.species And p1.sex = 'f' And p2.sex = 'm'; 主從式資料庫系統 - CH3

3-4-3 線上資料分析 挑選商品中最大值 以子查詢挑選單價最高之商品 搭配【LIMIT】修飾辭來限定輸出紀錄筆數 Select Max(article) AS article From shop; 以子查詢挑選單價最高之商品 Select article,dealer,price From shop Where price=(Select Max(price) From shop); 搭配【LIMIT】修飾辭來限定輸出紀錄筆數 Select article,dealer,price From shop Order By price DESC LIMIT 1; 主從式資料庫系統 - CH3

3-4-3 線上資料分析(續) 挑選各類商品中單價最高者 挑選各類商品中單價最高並輸出商品資訊 Select article, Max(price) AS price From shop Group By article; 挑選各類商品中單價最高並輸出商品資訊 Select article, dealer, price From shop s1 Where price=(Select Max(s2.price) From shop s2 Where s1.article=s2.article); 主從式資料庫系統 - CH3

3-4-3 線上資料分析(續) 與Group By搭配之常用分析函數 AVG():求平均數 MIN():挑最小值 MAX():挑最大值 SUM():求總數 STD():樣本標準差,分母為紀錄數-1 STDDEV():標準差,分母為紀錄數,與ORACLE相容 VARIANCE():變異數,分母為紀錄數 主從式資料庫系統 - CH3

3-4-4 子查詢 依第2表之結果來過濾第1表 將挑選第2表資料新增至第1表 Select * From t1 Where column1 = (Select column1 From t2); 將挑選第2表資料新增至第1表 Insert Into t1 (欄位串列) Select (欄位串列) From t2 Where (t2之過濾條件); 兩個資料表之欄位串列之個數必須相同,對應型態也須相同 主從式資料庫系統 - CH3

3-4-4 子查詢(續) 依第2表挑出之資料將第1表對應資料刪除 以IN運算子比對資料 Delete From t1 Where column1 = (Select column1 From t2); 以IN運算子比對資料 Select column1,column2,column3 From t1 Where (column1,column2,column3) IN (Select column1,column2,column3 From t2); 前述指令之 ”IN” 限定辭,也可改用 ” NOT IN”,表示不在子查詢內的資料 主從式資料庫系統 - CH3