MySQL命令列資料操作使用心得(總結版)

來源:互聯網
上載者:User

標籤: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命令列資料操作使用心得(總結版)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.