檔案相關

---------------------------------------------------------------------------------------------

=================================================================
秀出資料
--------------------------------------------------------------
SHOW TABLES FROM `new value`; //秀出資料庫中所有資料表
SHOW COLUMNS FROM `new value` //秀出資料表中資料型態;
select * from mysq_test;//秀出資料表mysq_test中的資料
================================================================= 

=================================================================
建立資料
----------------------------------------------------------------
//建立資料庫
CREATE DATABASE 新資料庫名稱 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
//建立新資料表 
CREATE TABLE 新資料表名稱 ( 編號 INT Primary Key AUTO_INCREMENT, Name VARCHAR(10))ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 
=================================================================

=====================================================
建立新資料表 (進階)

CREATE TABLE `tb_share_counter` (
  `ID` bigint(8) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(30) NOT NULL,
  `STATUS` tinyint(1) NOT NULL,
  `CREATE_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

========================================================================= 

==========================================================
表格清空,計數歸零
-----------------------------------------------------------------------------------------------------
truncate table 表名
==========================================================










===================================

truncate table 表名

===================================================
更新資料表內資料(UPDATE)
------------------------------------------------
UPDATE(更新) your_table(欲更新的資料表名)
SET first_column = `new value`(欲更新的新資料一),
second_column = `another_value`(欲更新的新資料二)
WHERE first_column = `old value`(欲更新的舊資料一)
AND second_column = `old another_value`(欲更新的舊資料二);
===================================================

===================================================
新增資料
--------------------------------------------------------------
INSERT INTO mysq_test(Name,Message) VALUES(`will`,`hello`);

====================================================

 

=====================================================
自動記錄日期範例(timestamp)
------------------------------------------------------------------------------------------------
`CREATE_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
//自動初始化 及 自動更新
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
//只做自動初始化 (建立時初始化, 更新時不修改時間)
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
//只做自動更新 (建立時不做初始化動作)
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
//全都不做(使用這個的話, 或許直接用 DATETIME 的型態 似乎比較方便?)
ts TIMESTAMP DEFAULT 0
----------------------------------------------------------------------------------------------

 

 

查詢相關

----------------------------------------------------------------------------------------------

===============================================
指定回傳數量
----------------------------------------------
LIMIT 2;回傳頭兩筆資料
LIMIT 0,4;從第一筆資料開始回傳四筆資料 
================================================

================================================
分組、加總、排序、平均
----------------------------------------
SELECT first_name, (以下的項目編號)
FROM cookie_sales
GROUP BY first_name(依據分組的項目名稱)
ORDER BY SUM(sales)DESC(以sales的加總排序);

一.SUM(sales)(欲加總的項目名稱)
二.AVG(sales)(欲算平均的項目名稱)
三.MAX(sales)(最大值)
四.MIN(sales)(最小值)
================================================

 

===============================================
列出未重覆的值
-----------------------------------------------
SELECT DISTINCT sale_date
from cookie_sales;
===============================================

===============================================
計算項目「列」數
-------------------------------------------------
SELECT COUNT(sale_date)(欲計算的項目名稱)
FROM cookie_sales;
===============================================

 

 

其他

----------------------------------------------------------------------------------------------

==============================================================
其他
--------------------------------------------------------------
set names `UTF8`;//設定字元集
SET character_set_database = utf8;
service mysql restart;//mysql重開
mysqladmin -u root -p password `new password`//更改密碼
show variables like 'character%';//顯示系統字元設定
===============================================================

===============================================================
MySQL備份及轉移
-------------------------------------------------------------------------------------------------------------------
MySQL 在安裝時即有提供一系列的客戶端程式(Client Program),這些程式其實就是各種功能不同的 Perl Scripts 的集合,其中包括有協助您操控 Server 的 mysqladmin、用來執行 SQL 指令的 mysql、轉換 binary log 用的 mysqlbinlog 等等。其中有一樣工具是專門讓您用來備份資料庫的,那就是 mysqldump。


mysqldump 的使用方式十分的簡易,其語法為:
引用:
mysqldump --lock-all-tables -u root -p 資料庫名稱 > example.sql

--lock-all-tables:進行備份時將正在備份的資料庫裡的資料表,全部鎖定以確保資料的一致性
-u root:使用 root 帳號進行備份
-p:需要輸入密碼,如果你的 root 帳號有密碼保護,而你又不加這個選項,就會直接 ACCESS DENIED
資料庫名稱:你要備份的資料庫名稱
example.sql:這個部份你想取什麼名字都行,總之這裡就是備份出來的檔案名稱


開啟備份出來的檔案看看,你會發現裡面其實是由許多 SQL 指令所組成,而這些 SQL 指令就是用來重建整個資料庫用的,因此當您還原資料庫的時候其實對 MySQL 來說,只是單純的重新執行備份檔裡面所有的 SQL 指令。由於備份出來的檔案是單純的文字檔案,因此它是 Binary Portable,你可以將它複製到任何一台 MySQL Server 上然後進行還原。

還原的方式也很簡單,只要使用以下的指令即可:
引用:
mysql -u root -p 資料庫名稱 < example.sql

轉載自:http://forum.slime.com.tw/thread208592.html    

=====================================================================

truncate table 表名






























 

arrow
arrow
    全站熱搜

    Will(小威) 發表在 痞客邦 留言(0) 人氣()