標籤:des   style   color   io   使用   strong   ar   for   檔案   
Char 0~255
Varchar 0~65535
text 0~65535(只能儲存字元)
Longtext 0~4294967295(只能儲存字元)
CMD登陸mysql
mysql -u root -p
mysql -P 3306 -uroot -p123456  (-P必須大寫表示連接埠)
1,資料庫操作databases
建立資料庫
create database
顯示資料庫
show databases
刪除資料庫
drop database  <資料庫名>
串連資料庫
Use <資料庫名>
查看當前使用的資料庫
select database()
顯示當前資料庫資訊
Show tables
匯入sql資料庫
mysql -u root -p creat 資料庫名 //先建立一個同名資料庫
mysql -u root -p 資料庫名 <資料庫本地地址
use 資料庫名 //更新資料庫
show table //顯示新的匯入表
匯入.sql檔案命令(例如d:/mysql.sql)
use database;
source d:/mysql.sql;
 
 
匯入匯出資料庫(解決編碼問題)
mysql -uroot -p--default-character-set=utf8 joke<c:/joke.sql
mysqldump –uroot –p joke table>joke.sql
 
匯出(備份)資料庫
mysqldump -u root -p 資料庫名>c:/檔案名稱.sql
 
2,表操作table
建立表
命令:create table <表名> ( <欄位名1> <類型1> [,..<欄位名n> <類型n>]);
 create table MyClass(
 id int,
 name char(20) not null,
 sex enum(‘f‘,‘m‘));
 
mysql> create table classify(
    ->title varchar(100) primary key,content longtext,author longtext,board lon
gtext,datatype longtext);
 
擷取表結構
describe myclass
desc MyClass; 
更改表名
rename table 原表名 to 新表名
刪除表
drop table <表名>
清空表
delete from 表名
插入表中記錄
往表 MyClass中插入二條記錄, 這二條記錄表示:
編號為1的名為Tom的成績為96.45 
編號為2 的名為Joan的成績為82.99
編號為3 的名為Wang的成績為96.5.
insert into MyClassvalues(1,‘Tom‘,96.45),(2,‘Joan‘,82.99), (2,‘Wang‘, 96.59);
 insertinto 表名 values("hyq","M");
 
更新表中資料
update MYTABLE set sex="f" wherename=‘hyq‘;
 
用文本方式將資料裝入資料庫表中(例如d:/mysql.txt)
load data local infile "d:/mysql.txt" intotable mytable;
刪除表中資料
delete from 表名where 運算式
delete from MyClass where id=1;
 
MySQL批量替換指定欄位字串語句
UPDATE 資料表名 SET 欄位名 = replace(欄位名, ‘要替換的字串‘, ‘替換為‘) WHERE 設定條件;
update xxx set column = repalce(column,chr(ascii),‘‘); //oracle
update jo1 set 內容=replace(內容,char(13)+char(10),‘‘); //斷行符號+換行
3,欄位操作
在表中增加欄位:
alter table 表名add欄位 類型 其他; 
例如:在表MyClass中添加了一個欄位passtest,類型為int(4),預設值為0 
alter table MyClass add passtest int(4) default ‘0‘  //其中4可以省略,長度預設為11
 
刪除欄位
alter table 表名 drop column 欄位名
 
更新欄位內容
update 表名set 欄位名 = 新內容
update 表名set 欄位名 = replace(欄位名,‘舊內容‘,‘新內容‘);
文章前面加入4個空格
update article set content=concat(‘  ‘,content);
 
修改欄位類型
alter table forum alter column column_name new_data_type
 
4,索引
提高檢索、查詢速度;建立維護費時間,佔用物理空間,影響插入記錄的速錄。(解決:先刪除索引再插入記錄)
 
建立索引
Create table index1(index(id));
 
er table forum alter column column_name new_data_type
5,查詢操作
查詢表
select * from MyClass;
查詢前幾行資料
select * from MyClass order by id limit 0,2;
查詢表中資料總數
select count(*) from table
 
欄位類型
1.INT[(M)] 型:正常大小整數類型 
2.DOUBLE[(M,D)][ZEROFILL] 型: 正常大小(雙精密)浮點數字類型 
3.DATE 日期類型:支援的範圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字串或數字把值賦給DATE列 
4.CHAR(M) 型:定長字串類型,當儲存時,總是是用空格填滿右邊到指定的長度 
5.BLOB TEXT類型,最大長度為65535(2^16-1)個字元。 
6.VARCHAR型:變長字串類型
 
 
查看mysql版本
Select @@Version
 
查看mysql預設編碼
show variables like ‘character%‘;
show variables like "character%";
..
設定MySQL編碼
MySQL(版本是5.1.22)支援多種編碼格式,並且可以在多個層級上設定不同的編碼格式。
 - 伺服器級:在安裝MySQL時可以設定伺服器的預設編碼格式    
- 最簡單的修改方法,就是修改mysql的my.ini檔案中的字元集索引值,
 如:default-character-set = utf8
 character_set_server = utf8
 修改完後,重啟mysql的服務,service mysql restart
- 資料庫級:在建立資料庫時可以指定資料庫的編碼格式,如果不指定,則預設繼承伺服器的編碼格式。樣本如下:
CREATEDATABASE db_name DEFAULT CHARACTER SET utf8;
 - 表級:在MySQL中可以對同一個資料庫中表指定不同的編碼格式,如果不指定將繼承資料庫的編碼格式。樣本如下:
CREATETABLE  `db_name`.`tb_name`(      id VARCHAR(20)NOTNULL,     name VARCHAR(20)) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
 - 列級:另外還可以對同一個表中的不同列指定不同的編碼格式,樣本如下:
CREATETABLE  `db_name`.`tb_name`(  id varchar(20)NOTNULL,  name varchar(20) CHARACTER SET utf8);
制定編碼方式的一個好處是,增強對中文的處理,可解決表中部分中文欄位內容在不同工具下亂碼的問題
 
1.具體查詢
SELECT content FROM forum
WHERE content=‘縮小貧富差距,是一個糾結的課題,怎麼縮?關鍵是收入分配。話語權大的利益群眾,收入分配明顯偏高,導致收入差距拉大‘
 
 
2.仔細搜尋
SELECT content,
       DATE,
       url,
       id,
       ObjectKey,
       RobotName,
       ExecutionId,
       FirstExtracted,
       LastExtracted,
       ExtractedInLastRun,
       LastUpdated,
       num
       FROM aeolus.forum WHERE id=‘哄旗飛舞‘
 
 
3.模糊查詢
SELECT 欄位 FROM 表
WHERE 欄位 LIKE‘我%‘
 
 
4.模糊刪除
DELETE FROM aeolus.forum WHEREid LIKE ‘%‘ ;
 
CRLF – 
Carriage-Return Line-Feed斷行符號換行 斷行符號(CR, ASCII 13, \r) 換行(LF, ASCII 10, \n)
MySQL命令列資料操作使用心得(總結版)