SQL指令包含四大類型 : DDL (資料定義語言)、DML (資料處理語言)、DCL (資料控制語言)、TCL (交易控制語言)。 DDL ( Data Definition Language ) 資料定義語言 CREATE - to create objects in the database ALTER - alters the structure of the database DROP - delete objects from the database TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed RENAME - rename an object 範例: CREATE DATABASE [database name] CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE [table name] ( fid MEDIUMINT NOT NULL AUTO_INCREMENT, fname varchar(20),…
當我們建立一個MySQL的資料庫,對應到實際檔案上,資料庫=目錄。 例如有一個MyDB資料庫,就會出現一個MyDB的目錄,而目錄下就會出現MYD, MYI, FRM檔案。 .FRM => It has the table structure of your table or table definition .MYI => It has the indexes of your table .MYD => It contains your data 副檔名FRM是儲存「表單的資料結構」 副檔名MYI是儲存「表單的索引資料」 副檔名MYD是儲存「表單的真正資料」
Database: 資料庫 Database System: 資料庫系統 Database Management System 資料庫管理系統 (DBMS) 資料庫系統(Database System)是指在電腦系統中引入資料庫後構成的系統,一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員和用戶構成。 資料庫管理系統(database management system,縮寫:DBMS) 是一種針對物件資料庫,為管理資料庫而設計的大型電腦軟體管理系統。具有代表性的資料管理系統有:Oracle、Microsoft SQL Server、Access、MySQL及PostgreSQL等。通常資料庫管理師會使用資料庫管理系統來建立資料庫系統。 資料庫(Database)簡單來說可視為電子化的檔案櫃——儲存電子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作。
MariaDB 是MYSQL分支出來的產品,是MYSQL 創辦人 Michael Widenius 的另一套開放源碼資料庫。 為什麼要再從MYSQL分出來另外的資料庫? 因為MYSQL已經賣給Oracle了。因此 MariaDB最近也日漸普及,不僅成為主要開放源碼作業系統的預設資料庫,更在 WikiMedia 等重要組織與企業,有取代 MySQL 地位的趨勢。 但是不管如何其實兩者是很類似的。 差別在哪裡呢? 我們從以下文章來看看 ... What's the difference between MariaDB and MySQL? 毫無理由使用 MySQL:MariaDB、MySQL 創始者 Michael Widenius 的訪談 Data and table definition files (.frm) files are binary compatible. All client APIs, protocols and structs are identical. All filenames, binaries, paths, ports, sockets, and etc... should be the same. All …
假設出貨單表單如下,你應該如何設計資料表,來表示這個表單? 正規化後,資料結構應該如何呢? 客戶資料表 customer( cusno , cusname, cuszipcode, cusaddress, custel, cusfax, cuscontact) 職員資料表 employee( empno , empname, deptno, emptitle) 公司部門表 department( deptno , deptname) 產品資料表 product( prodno , prodname, prodprice, prodamount) 訂單主檔資料表 myorder( ordno , cusno, orddate, ordtotal, salesno, assistno) 訂單品項資料表 myorderitem( ordno, serial , prodno, prodqty, prodprice) 以下的需求應該如何達成呢? (1)某個客戶在某個日期,訂購那些商品? SELECT p.prodno, p.prodname FROM product p, myorder m, myorderitem mi…
有如下表單,你應該如何進行正規化呢? 學號 學生姓名 學生電話 課程代號 課程名稱 年級 老師姓名/電話 老師代號 科系代號 科系名稱 成績 101001 張大頭 0910111222 0922111000 A001 資料庫 三年級 王老師 0933111333 001 001 資管系 80 A002 網路概論 林老師 0955111222 002 003 資工系 50 101002 劉三哥 0912333222 0922111333 A003 程式設計 三年級 孫老師 0912000333 003 001 資管系 85 A002 網路概論 林老師 0955111222 002 003 資工系 76 我們正規化後,資料結構如下~ studnt 學生資料表 ( studno , studname, deptid) teacher 老師資料表 ( teano , teaname, deptid) department 科系資料表 ( deptid , deptname) telephone 電話資料表 ( ownerno, tel ) cou…
SELECT的基本語法如下~ 依照給予的條件,抓出資料。 SELECT * | {[DISTINCT, DISTINCTROW] field_list} FROM table_list WHERE conditions GROUP BY {field_list} [ASC,DESC] HAVING conditions ORDER BY {field_list} [ASC,DESC] 假設有以下表單 student( studno , studname, deptid) 學生資料表 course( yearsemester, courseid, studno , score) 選課單 coursemain( courseid , coursename, coursecredit, courseflag, deptid) 課程基本資料表 teacher( teano , teaname, deptid) 教師資料表 courseopen( yearsemester, courseid , teano, coursetime, room) 教師開課表 dept( deptid , deptname) 科系資料表 1. SELECT * F…