mysql 經典操作 mysql常用經典操作

2021-10-20 22:33:10 字數 4431 閱讀 4905

【it168 伺服器學院】.連線伺服器  mysql -u   cnscn

-h   192.168.0.1

[-d  dbname]

[-p  3306]

[--protocol=name]    the protocol of connection (tcp,socket,pipe,memory)

[-s, --socket=name]  連線所用的套接字檔案

[--character-sets-dir=name]  字符集所位於的目錄

[--default-character-set=name]   預設的字符集

[-e, --vertical]  垂直地打列出查詢輸出

.建立資料庫  mysql>create database dbname;

.顯示資料庫列表  mysql>show databases;

.顯示資料表列表  mysql>show tables;

.檢視mysql設定引數  $mysqladmin  -u root -p variables;

.開啟伺服器  $/etc/rc.d/init.d/mysqld start

或$mysqld_safe  --user=mysql &

$/etc/rc.d/init.d/mysqld stop

或$mysqladmin  shutdown  -u root -p

.優化表  mysql>optimize  table  tbla,tblb;

或 [進行優化並檢查修復任務]

$mysqlcheck  -o  dbname  tbla tblb  tblc   -u root  -p

.對錶進行分析  mysql>analyze  table  tbla;

或$mysqlcheck  -a dbname [tbla  tblb tblc ] -u root -p

.對錶進行檢查  mysql>check table tbla,tblb,tblc;

.賦權  mysql>grant all on dbname.* to username@ identified by ''localhostpassword''

重新整理許可權表  mysql>flush privileges;

.從txt文字檔案向資料庫匯入檔案  1)用select into做備份

select * from table where ... order... group by ...

into outfile ''/tmp/data.dat''

[fields

[terminated  by ''\t'']

[[optionally] enclosed by '''']

[escaped  by ''\\'']

[lines  terminated by ''\n'']

[ignore  number  lines]

[(col_name,...)]

mysql>select * from tblname where id<10 int outfile ''a.dat''  fields terminated by ''|'' lines terminated by ''\n'';

2)用load data恢復

load  data  [low_priority | concurrent]

[local]

infile  ''a.dat''

[fields

[terminated  by ''\t'']

[[optionally] enclosed by '''']

[escaped  by ''\\'']

[lines  terminated by ''\n'']

[ignore  number  lines]

[(col_name,...)]

mysql>load data

infile ''a.dat''

into table tblname

fields terminated by ''|''

lines terminated by ''\n'';

3)mysqlimport---load data的等價命令

mysqlimport

dbname

-u root

-h localhost

-password

[--fields-terminated-by=...]

[--fields-enclosed-by=...]

[--fields-optionally-enclosed-by=...]

[--fields-escaped-by=...]

[--lines-terminated-by=...]

[--port=3306]

[--socket=/path/to/socket]

[--character-sets-dir=name]

[-d,--delete]       輸入檔案前,清空表

]-l,--lock-tables]  鎖定準備寫入的表

%mysqlimport  dbname  -u root -password  a.dat

.匯出成.sql語句  1)用mysqldump備份

--add-locks         加上鎖表語句,建議使用,將加快速度,以加快insert時的速度

--add-drop-table    新增drop table

-a, --all-databases 匯出所有的資料庫

--allow-keywords    為避免不允許列名與關鍵字名不同,而在列名前加表名

-c,--complete-insert 使用完整的插入語句

-c,--compress        壓縮資料

-b,--databases       儲存指定的幾個庫

-e,--extended-insert 利用多行insert方式使結果更緊湊,速度更快,因為索引快取器只在每個insert命令後重新整理

--fields-terminated-by=...

--fields-enclosed-by=...

--fields-optionally-enclosed-by=...

--fields-escaped-by=...

--lines-terminated-by=...

-h, --host=...        主機

-l,--lock-tables      鎖表

-k,--disable-keys     在insert前使索引無效,之後有效,使插入有效

--opt等效於--quick  --add-drop-table  --add-locks  --extened-insert  --lock-tables的組合    這是最快的恢復

--password            提示輸入密碼

-p portnumber,--port=portnumber   指明tcp/ip埠號

-q,--quick            不對錶進行暫存,但直接儲存在stdout.用mysql_use_result()去做,對於大的表,必須這樣做

-q,--quote-names      把表和列的名放入單引號裡

-r,--result-file=...  輸出到指定檔案.這在dos中有用,因為它可以阻止unix的新行\n符被轉換成\n\r

-s /tmp/socket,       指定socket檔案

--socket=/tmp/socket

-t,--tab=path-to-some-directory    為每乙個表建立兩個檔案tblname.sql, tblname.txt

-u username,          連線的使用者名稱

--user=username

-w,--where=''where-condition''   匯出的條件

-x,--xml              以符合方法的xml形式儲存資料庫

-o net_buffer_length=n    當建立多行插入語句時,該數建立行數的大小最多為n(-e或-opt引數,n必須小於16mb)

%mysqldump

--where=''id>5''      #只備份id大於5的記錄

dbname

[tblname]

>/tmp/a.sql

2)匯出到mysql_db.xml

%mysqldump  mysql -x > mysql_db.xml

3)最快匯出方式

%mysqldump mysql --opt >msyql.sql

4)恢復用mysqldump備份的資料庫

%mysql dbname < /tmp/a.sql

或mysql>source /tmp/a.sql

.查詢引數  1) \g  在語句尾,同;

2) \g  在語句尾,使查詢結果以豎形輸出

3) \c  在語句尾,使當前語句不執行

mysql表的語法技巧 MySql表操作常用語法

檢查表 check table table name 修復表repair table table name 優化表optimize table table name 分析表analyze table table name 清空表truncate table name 刪除表drop table na...

mysql常問內容 mysql常問問題

前言 一些自己遇到的問題及理解 需補充修改 索引型別 主鍵索引 普通索引 符合索引 唯一索引 全文索引 索引 查詢資料的資料結構,索引占用磁碟空間,更新資料的時候影響更新表的效率 資料儲存型別 聚簇索引 非聚簇索引 聚簇 採用b 樹的資料結構,聚簇索引葉子節點存放證章表的資料,所以主鍵索引就是用的聚...

mysql檢視mylog命令 mysql常用命令

連線mysql 1.登入mysql資料庫 mysql u使用者名稱 p密碼 示例 2.登入遠端主機的mysql mysql h遠端主機ip位址 u使用者名稱 p密碼 示例 注 建立使用者命令格式為 create user hehe 192.168.93.151 3.退出mysql命令 exit 修改...