❶ 那有比較全的MySql命令啊
1. 連接mysql:
mysqlbinmysql -h主機地址 -u 用戶名 -p 用戶密碼
2.退出mysql:exit
3. 修改密碼:
mysqlbinmysqladmin -uroot -p(oldpassword) password newpassword
4.增加用戶:
添加一個用戶test1 密碼為ABC;讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入
mysql,然後鍵入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified
by "abc";
增加一個用戶test2密碼為abc,讓其只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地
主機,即mysql資料庫所在的那台主機),這樣用戶即使用知道test2的密碼,也無法從internet上直接訪問資料庫,只能通過mysql主機上的web頁
來訪問了。grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
增加一個可以從任何地方連接伺服器的一個完全的超級用戶
grant all privileges on *.* to test3@"%" identified by 'password' with grant option;
5.刪除授權
revoke select,insert,update,delete om *.* from test2@localhost ;
--------------------------------------------------------
6.顯示資料庫
show databases;
7.顯示資料庫中的表
use dataname;
show tables;
8.顯示表的結構
describe tablesname;
9.建庫
create database 庫名;
10.建表
use dataname;
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表結束
//以下為插入欄位
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
註:在建表中
(1) 將ID設為長度為3的數字欄位:int(3),並讓它每個記錄自動加一: auto_increment,
並不能為空:not null,而且讓它成為主欄位primary key
(2) 將NAME設為長度為10的字元欄位
(3) 將ADDRESS設為長度50的字元欄位,而且預設值為深圳。varchar和char有什麼區別
呢,只有等以後的文章再說了。
(4) 將YEAR設為日期欄位。
如果你在mysql提示符鍵入上面的命令也可以,但不方便調試。 你可以將以上命令
原樣寫入一個文本文件中假設為school.sql,然後復制到c:下,並在DOS狀態進入目錄
mysql in,然後鍵入以下命令:
mysql -uroot -p密碼 < c:school.sql
如果成功,空出一行無任何顯示;如有錯誤,會有提示。(以上命令已經調試,你
只要將//的注釋去掉即可使用)。
11.刪除庫和刪除表
drop dataname;
drop tablename;
12.將表中的記錄清空
delete from tablename;
13.顯示表中的記錄
select * from tablename;
14.表重命名
alter table t1 rename t2
---------------------------------------------------------
15. 備份資料庫
mysqlbinmysqlmp -h(ip) -uroot -p(password) databasename > database.sql
16. 恢復資料庫
mysqlbinmysql -h(ip) -uroot -p(password) databasename < database.sql
17.復制資料庫
mysqlmp --all-databases > all-databases.sal
18.備份表
mysqlbinmysqlmp -h(ip) -uroot -p(password) databasename tablename > tablename.sql
19.恢復表(操作前先把原來的表刪除)
mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql
----------------------------------------------------------
20.為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣),
並且改變列b,從CHAR(10)改為CHAR(20),同時重命名它,從b改為c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
增加一個新TIMESTAMP列,名為d:
ALTER TABLE t2 ADD d TIMESTAMP;
在列d上增加一個索引,並且使列a為主鍵:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
刪除列c:
ALTER TABLE t2 DROP COLUMN c;
增加一個新的AUTO_INCREMENT整數列,命名為c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,並且另外我們聲明c為NOT NULL,
因為索引了的列不能是NULL
---------------------------------------------------------------
21.數據的導入導出
A。mysqlimport
語法:mysqlbinmysqlimport database tables.txt( 文件名需要與表名相同)
參數:-d or --delete 新數據導入數據表中之前刪除數據數據表中的所有信息;
-f or --force 不管是否遇到錯誤,mysqlimport將強制繼續插入數據;
-i or --ignore mysqlimport跳過或者忽略那些有相同唯一關鍵字的行, 導入文件中的數據將被忽略;
-l or -lock-tables 數據被插入之前鎖住表,這樣就防止了, 你在更新資料庫時,用戶的查詢和更新受到影響;
--fields-enclosed- by= char
指定文本文件中數據的記錄時以什麼括起的, 很多情況下數據以雙引號括起。 默認的情況下數據是沒有被字元括起的。
--fields-terminated- by=char
指定各個數據的值之間的分隔符,在句號分隔的文件中,分隔符是句號。您可以用此選項指定數據之間的分隔符。默認的分隔符是跳格符
(Tab)
--lines-terminated- by=str
此選項指定文本文件中行與行之間數據的分隔字元串 或者字元。 默認的情況下mysqlimport以newline為行分隔符。 您可以選擇用一個字
符串來替代一個單個的字元: 一個新行或者一個回車。
mysqlimport命令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。
--------------------------------------------------------------
22.常用插入、修改、刪除語句
插入記錄:insert into teacher values('','glchengang','深圳一中','1976-10-10');
修改記錄:update mytable set single=′y′ where name=′abccs′;
刪除記錄:delete from mytable where name=′abc′;
❷ 如何在Unix系統環境下安裝MySQL資料庫
查看當前安裝的linux版本
通過上圖中的數據可以看出安裝的版本為RedHat5.4,所以我們需要下載RedHat5.4對應的mysql安裝包
在LINUX 安裝mySQL資料庫
下載mysql安裝文件
官方網站下載安裝包,因為本地RedHat版本為Red Hat 5.4,操作系統是64位的
所以在官方網站下載以下安裝包
MySQL-server-5.5.25a-1.rhel5.x86_64
MySQL-client-5.5.25a-1.rhel5.x86_64
MySQL-devel-5.5.25a-1.rhel5.x86_64
安裝mysql
1、進入安裝文件的目錄
2、安裝mysql服務端
rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpm
如圖:mysql-server安裝
在LINUX 安裝mySQL資料庫
安裝mysql客戶端、mysql-devel
rpm -ivh MySQL-client-5.5.25a-1.rhel5.x86_64.rpmrpm -ivh MySQL-devel-5.5.25a-1.rhel5.x86_64.rpm
mysql-client-deve
在LINUX 安裝mySQL資料庫
修改mysql中root的初始化密碼
1、命令如下:
# /usr/bin/mysqladmin -u root password 『rootadmin』
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
2、例子
# /usr/bin/mysqladmin -u root password 『rootadmin』
註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了
3、用新的密碼進行登錄.
在LINUX 安裝mySQL資料庫
重啟與停止mysql服務
啟動方式1:service mysql start
啟動方式2:/etc/init.d/mysql start
停止方式1:service mysql stop
停止方式2:/etc/init.d/mysql shutdown
重啟方式1:service mysql restart
重啟方式2:/etc/init.d/mysql restart
❸ mysql資料庫中最常用的幾個命令
Mysql常用命令行大全 機 第一招、mysql服務的啟動和停止 net stop mysql net start mysql 第二招、登陸mysql 語法如下: mysql -u用戶名 -p用戶密碼 鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是: mysql> 注意,如果是連接到另外的機器上,則需要加入一個參數-h機器IP 第三招、增加新用戶 格式:grant 許可權 on 資料庫.* to 用戶名@登錄主機 identified by "密碼" 如,增加一個用戶user1密碼為password1,讓其可以在本機上登錄, 並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入mysql,然後鍵入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改為"%"。 如果你不想user1有密碼,可以再打一個命令將密碼去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招: 操作資料庫 登錄到mysql中,然後在mysql的提示符下運行下列命令,每個命令以分號結束。 1、 顯示資料庫列表。 show databases; 預設有兩個資料庫:mysql和test。 mysql庫存放著mysql的系統和用戶許可權信息,我們改密碼和新增用戶,實際上就是對這個庫進行操作。 2、 顯示庫中的數據表: use mysql; show tables; 3、 顯示數據表的結構: describe 表名; 4、 建庫與刪庫: create database 庫名; drop database 庫名; 5、 建表: use 庫名; create table 表名(欄位列表); drop table 表名; 6、 清空表中記錄: delete from 表名; 7、 顯示表中的記錄: select * from 表名; 第五招、導出和導入數據 1. 導出數據: mysqlmp --opt test > mysql.test 即將資料庫test資料庫導出到mysql.test文件,後者是一個文本文件 如:mysqlmp -u root -p123456 --databases dbname > mysql.dbname 就是把資料庫dbname導出到文件mysql.dbname中。 2. 導入數據: mysqlimport -u root -p123456 < mysql.dbname。 不用解釋了吧。 3. 將文本數據導入資料庫: 文本數據的欄位數據之間用tab鍵隔開。 use test; load data local infile "文件名" into table 表名; 1:使用SHOW語句找出在伺服器上當前存在什麼資料庫: mysql> SHOW DATABASES; 2:2、創建一個資料庫MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:選擇你所創建的資料庫 mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!) 4:查看現在的資料庫中存在什麼表 mysql> SHOW TABLES; 5:創建一個資料庫表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:顯示表的結構: mysql> DESCRIBE MYTABLE; 7:往表中加入記錄 mysql> insert into MYTABLE values ("hyq","M"); 8:用文本方式將數據裝入資料庫表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 9:導入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:刪除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中數據 mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編輯 收藏 收藏至365Key 13:備份資料庫 mysqlmp -u root 庫名>xxx.data 14:例2:連接到遠程主機上的MYSQL 假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 (注:u與root可以不用加空格,其它也一樣) 3、退出MYSQL命令: exit (回車)
❹ linux,unix常用基本命令
1.常用指令
ls 顯示文件或目錄
-l 列出文件詳細信息l(list)
-a 列出當前目錄下所有文件及目錄,包括隱藏的a(all)
mkdir 創建目錄
-p 創建目錄,若無父目錄,則創建p(parent)
cd 切換目錄
touch 創建空文件
echo 創建帶有內容的文件。
cat 查看文件內容
cp 拷貝
mv 移動或重命名
rm 刪除文件
-r 遞歸刪除,可刪除子目錄及文件
-f 強制刪除
find 在文件系統中搜索某文件
wc 統計文本中行數、字數、字元數
grep 在文本文件中查找某個字元串
rmdir 刪除空目錄
tree 樹形結構顯示目錄,需要安裝tree包
pwd 顯示當前目錄
ln 創建鏈接文件
more、less 分頁顯示文本文件內容
head、tail 顯示文件頭、尾內容
ctrl+alt+F1 命令行全屏模式
2.系統管理命令
stat 顯示指定文件的詳細信息,比ls更詳細
who 顯示在線登陸用戶
whoami 顯示當前操作用戶
hostname 顯示主機名
uname 顯示系統信息
top 動態顯示當前耗費資源最多進程信息
ps 顯示瞬間進程狀態 ps -aux
查看目錄大小 -h /home帶有單位顯示目錄信息
df 查看磁碟大小 df -h 帶有單位顯示磁碟信息
ifconfig 查看網路情況
ping 測試網路連通
netstat 顯示網路狀態信息
man 命令不會用了,找男人 如:man ls
clear 清屏
alias 對命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 殺死進程,可以先用ps 或 top命令查看進程的id,然後再用kill命令殺死進程。
3.打包壓縮相關命令
tar: 打包壓縮
-c 歸檔文件
-x 壓縮文件
-z gzip壓縮文件
-j bzip2壓縮文件
-v 顯示壓縮或解壓縮過程 v(view)
-f 使用檔名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不壓縮
tar -zcvf /home/abc.tar.gz /home/abc 打包,並用gzip壓縮
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,並用bzip2壓縮
當然,如果想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的「c」 換成「x」 就可以了。
3.關機/重啟機器
shutdown
-r 關機重啟
-h 關機不重啟
now 立刻關機
halt 關機
reboot 重啟
4.Linux管道
將一個命令的標准輸出作為另一個命令的標准輸入。也就是把幾個命令組合起來使用,後一個命令除以前一個命令的結果。
例:grep -r "close" /home/* | more 在home目錄下所有文件中查找,包括close的文件,並分頁輸出。
5.Linux軟體包管理
dpkg(Debian Package)管理工具,軟體包名以.deb後綴。這種方法適合系統不能聯網的情況下。
比如安裝tree命令的安裝包,先將tree.deb傳到Linux系統中。再使用如下命令安裝。
sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟體
sudo dpkg -r tree 卸載軟體
註:將tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高級軟體工具。這種方法適合系統能夠連接互聯網的情況。
依然以tree為例
sudo apt-get install tree 安裝tree
sudo apt-get remove tree 卸載tree
sudo apt-get update 更新軟體
sudo apt-get upgrade
6.將.rpm文件轉為.deb文件
.rpm為RedHat使用的軟體格式。在Ubuntu下不能直接使用,所以需要轉換一下。
sudo alien abc.rpm
7.vim使用
vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
命令模式下:
:q 退出
:q! 強制退出
:wq 保存並退出
:set number 顯示行號
:set nonumber 隱藏行號
/apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
yyp 復制游標所在行,並粘貼
h(左移一個字元←)、j(下一行↓)、k(上一行↑)、l(右移一個字元→)
8.用戶及用戶組管理
/etc/passwd 存儲用戶賬號
/etc/group 存儲組賬號
/etc/shadow 存儲用戶賬號的密碼
/etc/gshadow 存儲用戶組賬號的密碼
useradd 用戶名
userdel 用戶名
adser 用戶名
groupadd 組名
groupdel 組名
passwd root 給root設置密碼
/etc/profile 系統環境變數
bash_profile 用戶環境變數
.bashrc 用戶環境變數
su user 切換用戶,載入配置文件.bashrc
su - user 切換用戶,載入配置文件/etc/profile ,載入bash_profile
更改文件的用戶及用戶組
sudo chown [-R] owner[:group] {File|Directory}
例如:還以jdk-7u21-linux-i586.tar.gz為例。屬於用戶hadoop,組hadoop
要想切換此文件所屬的用戶及組。可以使用命令。
sudo chown root:rootjdk-7u21-linux-i586.tar.gz
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
UNIX操作系統(尤尼斯),是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。目前它的商標權由國際開放標准組織所擁有,只有符合單一UNIX規范的UNIX系統才能使用UNIX這個名稱,否則只能稱為類UNIX(UNIX-like)。
❺ 如何用MySQL命令對資料庫進行導出/導入/技巧
info:
1.txt
zhangsan wuhan
lishi wuhan
把1.txt文件插入到mysql資料庫中
1.mysql -u root -p 資料庫名 </文件路徑(在bin下就直接加文件名)
2.mysqlimport的語法介紹:
mysqlimport位於mysql/bin目錄中,是mysql的一個載入(或者說導入)數據的一個非常有效的工具。這是一個命令行工具。有兩個參數以及大量的選項可供選擇。這個工具把一個文本文件(text file)導入到你指定的資料庫和表中。比方說我們要從文件Customers.txt中把數據導入到資料庫Meet_A_Geek中的表 Custermers中:
mysqlimport Meet_A_Geek Customers.txt
注意:這里Customers.txt是我們要導入數據的文本文件,而Meet_A_Geek是我們要操作的資料庫,資料庫中的表名是Customers,這里文本文件的數據格式必須與Customers表中的記錄格式一致,否則mysqlimport命令將會出錯。
其中表的名字是導入文件的第一個句號(.)前面文件字元串,另外一個例子:
mysqlimport Meet_A_Geek Cus.to.mers.txt
那麼我們將把文件中的內容導入到資料庫Meet_A_Geek 中的Cus表中。上面的例子中,都只用到兩個參數,並沒有用到更多的選項,下面介紹mysqlimport的選項:
選項 功能
-d or --delete 新數據導入數據表中之前刪除數據數據表中的所有信息
-f or --force 不管是否遇到錯誤,mysqlimport將強制繼續插入數據
-i or --ignore mysqlimport跳過或者忽略那些有相同唯一關鍵字的行, 導入文件中的數據將被忽略。
-l or -lock-tables 數據被插入之前鎖住表,這樣就防止了,你在更新資料庫時,用戶的查詢和更新受到影響。
-r or -replace 這個選項與-i選項的作用相反;此選項將替代表中有相同唯一關鍵字的記錄。
--fields-enclosed- by= char 指定文本文件中數據的記錄時以什麼括起的, 很多情況下數據以雙引號括起。 默認的情況下數據是沒有被字元括起的。
--fields-terminated- by=char 指定各個數據的值之間的分隔符,在句號分隔的文件中,分隔符是句號。您可以用此選項指定數據之間的分隔符。默認的分隔符是跳格符(Tab)
--lines-terminated- by=str 此選項指定文本文件中行與行之間數據的分隔字元串或者字元。 默認的情況下mysqlimport以newline為行分隔符。您可以選擇用一個字元串來替代一個單個的字元:一個新行或者一個回車。
mysqlimport命令常用的選項還有-v 顯示版本(version), -p 提示輸入密碼(password)等。
例子:導入一個以逗號為分隔符的文件文件中行的記錄格式是這樣的:
"1", "ORD89876", "1 Dozen Roses", "19991226"
我們的任務是要把這個文件裡面的數據導入到資料庫Meet_A_Geek中的表格Orders中,我們使用這個命令:
bin/mysqlimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt
3.mysql資料庫常用導出導入命令的幾個用例
================================
幾個常用用例:
1.導出整個資料庫
mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqlmp -u 用戶名 -p 資料庫名 表名> 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個資料庫結構
mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table
4.導入資料庫
常用source 命令
進入mysql資料庫控制台,
如mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面參數為腳本文件(如這里用到的.sql)
mysql>source d:\wcnc_db.sql
4.可參看 MySQL數據的導出和導入工具:mysqlmp
====================================
批處理是一種非互動式運行mysql程序的方法,如同您在mysql中使用的命令一樣,你仍然將使用這些命令。為了實現批處理,您重定向一個文件到 mysql程序中,首先我們需要一個文本文件,這個文本文件包含有與我們在mysql中輸入的命令相同的文本。比如我們要插入一些數據,使用包含下面文本的文件(文件名為New_Data.sql,當然我們也可以取名為New_Data.txt及任何其他的合法名字,並不一定要以後綴sql結尾):
USE Meet_A_Geek;
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block");
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton");
INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Simmons");
注意上面的這些句子的語法都必須是正確的,並且每個句子以分號結束。上面的USE命令選擇資料庫,INSERT命令插入數據。
下面我們要把上面的文件導入到資料庫中,導入之前要確認資料庫已經在運行,即是mysqld進程(或者說服務,Windows NT下面稱為」服務「,unix下面為」進程「)已經在運行。然後運行下面的命令:
bin/mysql –p < /home/mark/New_Data.sql
接著按提示輸入密碼,如果上面的文件中的語句沒有錯誤,那麼這些數據就被導入到了資料庫中。
命令行中使用LOAD DATA INFILE 從文件中導入數據到資料庫:
現在您可能會問自己,"究竟為什麼我要輸入所有的這些SQL語句到文件中,然後通過程序運行它們呢?」這樣看起來好像需要大量的工作。很好,你這樣想很可能就對了。但是假如你有從所有這些命令中產生的log記錄呢?現在這樣就很棒,嗯,大多數資料庫都會自動產生資料庫中的事件記錄的log。而大部分log 都包含有用過的原始的SQL命令。因此,如果您不能從您現在的資料庫中導出數據到新的mysql資料庫中使用,那麼您可以使用log和mysql的批處理特性,來快速且方便地導入您地數據。當然,這樣就省去了打字的麻煩。
LOAD DATA INFILE
這是我們要介紹的最後一個導入數據到MySQL資料庫中的方法。這個命令與mysqlimport非常相似,但這個方法可以在mysql命令行中使用。也就是說您可以在所有使用API的程序中使用這個命令。使用這種方法,您就可以在應用程序中導入您想要導入的數據。
使用這個命令之前,mysqld進程(服務)必須已經在運行。啟動mysql命令行:
bin/mysql –p
按提示輸入密碼,成功進入mysql命令行之後,輸入下面的命令:
USE Meet_A_Geek;
LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;
簡單的講,這樣將會把文件data.sql中的內容導入到表Orders中,如mysqlimport工具一樣,這個命令也有一些可以選擇的參數。比如您需要把自己的電腦上的數據導入到遠程的資料庫伺服器中,您可以使用下面的命令:
LOAD DATA LOCAL INFILE "C:\MyDocs\SQL.txt" INTO TABLE Orders;
上面的LOCAL參數表示文件是本地的文件,伺服器是您所登陸的伺服器。這樣就省去了使用ftp來上傳文件到伺服器,MySQL替你完成了.
您也可以設置插入語句的優先順序,如果您要把它標記為低優先順序(LOW_PRIORITY),那麼MySQL將會等到沒有其他人讀這個表的時候,才把插入數據。可以使用如下的命令:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;
您也可以指定是否在插入數據的時候,取代或者忽略文件與數據表中重復的鍵值。替代重復的鍵值的語法:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders;
上面的句子看起來有點笨拙,但卻把關鍵字放在了讓您的剖析器可以理解的地方。
下面的一對選項描述了文件的記錄格式,這些選項也是在mysqlimport工具中可以用的。他們在這里看起來有點不同。首先,要用到FIELDS關鍵字,如果用到這個關鍵字,MySQL剖析器希望看到至少有下面的一個選項:
TERMINATED BY character
ENCLOSED BY character
ESCAPED BY character
這些關鍵字與它們的參數跟mysqlimport中的用法是一樣的. The
TERMINATED BY 描述欄位的分隔符,默認情況下是tab字元(\t)
ENCLOSED BY描述的是欄位的括起字元。比方以引號括起每一個欄位。
ESCAPED BY 描述的轉義字元。默認的是反些杠(backslash:\ ).
下面仍然使用前面的mysqlimport命令的例子,用LOAD DATA INFILE語句把同樣的文件導入到資料庫中:
LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ','
ENCLOSED BY '"';
LOAD DATA INFILE語句中有一個mysqlimport工具中沒有特點:LOAD DATA INFILE 可以按指定的列把文件導入到資料庫中。
當我們要把數據的一部分內容導入的時候,這個特點就很重要。比方說,我們要從Access資料庫升級到MySQL資料庫的時候,需要加入一些欄目(列/欄位 /field)到MySQL資料庫中,以適應一些額外的需要。這個時候,我們的Access資料庫中的數據仍然是可用的,但是因為這些數據的欄目 (field)與MySQL中的不再匹配,因此而無法再使用mysqlimport工具。盡管如此,我們仍然可以使用LOAD DATA INFILE,下面的例子顯示了如何向指定的欄目(field)中導入數據:
LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
如您所見,我們可以指定需要的欄目(fields)。這些指定的欄位依然是以括弧括起,由逗號分隔的,如果您遺漏了其中任何一個,MySQL將會提醒您^_^ 。
❻ MYSQL,使用什麼命令可以斷開所有用戶的表連接
命令:exit或者QUIT。
在Unix中,也可以按control-D鍵斷開伺服器。
連接mysql:
格式: mysql -h主機地址 -u用戶名 -p用戶密碼
1、連接到本機上的MYSQL。(假設用戶名、密碼均為root)
命令mysql -u root -p,回車後輸密碼root;再回車即可;
或者直接鍵入命令mysql -uroot -proot回車即可;
注意:用戶名前空格可有可無,但是密碼前必須沒有空格,否則再次輸入密碼。
如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了。
2、連接到遠程主機上的MYSQL。
假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為root。則鍵入以下命令:
mysql -h110.110.110.110 -uroot -proot;(注:p與root之間可以不用加空格)
3、一些MySQL安裝允許用戶以匿名(未命名)用戶連接到本地主機上運行的伺服器。
直接輸入命令:mysql。
(6)unixmysql命令大全擴展閱讀:
增加新用戶mysql命令:
格式:create user 『用戶名』@』主機地址』 identified by 『密碼』;
1、增加tom1用戶 密碼為 tom1,可在任何主機登錄:
create user 'tom1'@'localhost' identified by 'tom1';
2、引號可省略,即:
create user tom1@localhost identified by 'tom1';
3、主機地址存在 % 時不可省略引號,即:
create user tom1@'192.168.1.%' identified by 'tom1';
❼ MySQL的基本命令
啟動:net start mySql;
進入:mysql -u root -p/mysql -h localhost -u root -p databaseName;
列出資料庫:show databases;
選擇資料庫:use databaseName;
列出表格:show tables;
顯示表格列的屬性:show columns from tableName;
建立資料庫:source fileName.txt;
匹配字元:可以用通配符_代表任何一個字元,%代表任何字元串;
增加一個欄位:alter table tabelName add column fieldName dateType;
增加多個欄位:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;
多行命令輸入:注意不能將單詞斷開;當插入或更改數據時,不能將欄位的字元串展開到多行里,否則硬回車將被儲存到數據中;
增加一個管理員帳戶:grant all on *.* to user@localhost identified by "password";
每條語句輸入完畢後要在末尾填加分號';',或者填加'\g'也可以;
查詢時間:select now();
查詢當前用戶:select user();
查詢資料庫版本:select version();
查詢當前使用的資料庫:select database();
1、刪除student_course資料庫中的students數據表:
rm -f student_course/students.*
2、備份資料庫:(將資料庫test備份)
mysqlmp -u root -p test>c:\test.txt
備份表格:(備份test資料庫下的mytable表格)
mysqlmp -u root -p test mytable>c:\test.txt
將備份數據導入到資料庫:(導回test資料庫)
mysql -u root -p test
3、創建臨時表:(建立臨時表zengchao)
create temporary table zengchao(name varchar(10));
4、創建表是先判斷表是否存在
create table if not exists students(……);
5、從已經有的表中復製表的結構
create table table2 select * from table1 where 1<>1;
6、復製表
create table table2 select * from table1;
7、對表重新命名
alter table table1 rename as table2;
8、修改列的類型
alter table table1 modify id int unsigned;//修改列id的類型為int unsigned
alter table table1 change id sid int unsigned;//修改列id的名字為sid,而且把屬性修改為int unsigned
9、創建索引
alter table table1 add index ind_id (id);
create index ind_id on table1 (id);
create unique index ind_id on table1 (id);//建立唯一性索引
10、刪除索引
drop index idx_id on table1;
alter table table1 drop index ind_id;
11、聯合字元或者多個列(將列id與":"和列name和"="連接)
select concat(id,':',name,'=') from students;
12、limit(選出10到20條)<第一個記錄集的編號是0>
select * from students order by id limit 9,10;
13、MySQL不支持的功能
事務,視圖,外鍵和引用完整性,存儲過程和觸發器
14、MySQL會使用索引的操作符號
<,<=,>=,>,=,between,in,不帶%或者_開頭的like
15、使用索引的缺點
1)減慢增刪改數據的速度;
2)佔用磁碟空間;
3)增加查詢優化器的負擔;
當查詢優化器生成執行計劃時,會考慮索引,太多的索引會給查詢優化器增加工作量,導致無法選擇最優的查詢方案;
16、分析索引效率
方法:在一般的SQL語句前加上explain;
分析結果的含義:
1)table:表名;
2)type:連接的類型,(ALL/Range/Ref)。其中ref是最理想的;
3)possible_keys:查詢可以利用的索引名;
4)key:實際使用的索引;
5)key_len:索引中被使用部分的長度(位元組);
6)ref:顯示列名字或者"const"(不明白什麼意思);
7)rows:顯示MySQL認為在找到正確結果之前必須掃描的行數;
8)extra:MySQL的建議;
17、使用較短的定長列
1)盡可能使用較短的數據類型;
2)盡可能使用定長數據類型;
a)用char代替varchar,固定長度的數據處理比變長的快些;
b)對於頻繁修改的表,磁碟容易形成碎片,從而影響資料庫的整體性能;
c)萬一出現數據表崩潰,使用固定長度數據行的表更容易重新構造。使用固定長度的數據行,每個記錄的開始位置都是固定記錄長度的倍數,可以很容易被檢測到,但是使用可變長度的數據行就不一定了;
d)對於MyISAM類型的數據表,雖然轉換成固定長度的數據列可以提高性能,但是占據的空間也大;
18、使用not null和enum
盡量將列定義為not null,這樣可使數據的出來更快,所需的空間更少,而且在查詢時,MySQL不需要檢查是否存在特例,即null值,從而優化查詢;
如果一列只含有有限數目的特定值,如性別,是否有效或者入學年份等,在這種情況下應該考慮將其轉換為enum列的值,MySQL處理的更快,因為所有的enum值在系統內都是以標識數值來表示的;
19、使用optimize table
對於經常修改的表,容易產生碎片,使在查詢資料庫時必須讀取更多的磁碟塊,降低查詢性能。具有可變長的表都存在磁碟碎片問題,這個問題對blob數據類型更為突出,因為其尺寸變化非常大。可以通過使用optimize table來整理碎片,保證資料庫性能不下降,優化那些受碎片影響的數據表。 optimize table可以用於MyISAM和BDB類型的數據表。實際上任何碎片整理方法都是用mysqlmp來轉存數據表,然後使用轉存後的文件並重新建數據表;
20、使用procere analyse()
可以使用procere analyse()顯示最佳類型的建議,使用很簡單,在select語句後面加上procere analyse()就可以了;例如:
select * from students procere analyse();
select * from students procere analyse(16,256);
第二條語句要求procere analyse()不要建議含有多於16個值,或者含有多於256位元組的enum類型,如果沒有限制,輸出可能會很長;
21、使用查詢緩存
1)查詢緩存的工作方式:
第一次執行某條select語句時,伺服器記住該查詢的文本內容和查詢結果,存儲在緩存中,下次碰到這個語句時,直接從緩存中返回結果;當更新數據表後,該數據表的任何緩存查詢都變成無效的,並且會被丟棄。
2)配置緩存參數:
變數:query_cache _type,查詢緩存的操作模式。有3中模式,0:不緩存;1:緩存查詢,除非與 select sql_no_cache開頭;2:根據需要只緩存那些以select sql_cache開頭的查詢; query_cache_size:設置查詢緩存的最大結果集的大小,比這個值大的不會被緩存。
22、調整硬體
1)在機器上裝更多的內存;
2)增加更快的硬碟以減少I/O等待時間;
尋道時間是決定性能的主要因素,逐字地移動磁頭是最慢的,一旦磁頭定位,從磁軌讀則很快;
3)在不同的物理硬碟設備上重新分配磁碟活動;
如果可能,應將最繁忙的資料庫存放在不同的物理設備上,這跟使用同一物理設備的不同分區是不同的,因為它們將爭用相同的物理資源(磁頭)。
❽ MySQL 資料庫常用命令 簡單超級實用版
1、MySQL常用命令
create
database
name;
創建資料庫
use
databasename;
選擇資料庫
drop
database
name
直接刪除資料庫,不提醒
show
tables;
顯示表
describe
tablename;
表的詳細描述
select
中加上distinct去除重復欄位
mysqladmin
drop
databasename
刪除資料庫前,有提示。
顯示當前mysql版本和當前日期
select
version(),current_date;
2、修改mysql中root的密碼:
shell>mysql
-u
root
-p
mysql>
update
user
set
password=password(」xueok654123″)
where
user='root';
mysql>
flush
privileges
//刷新資料庫
mysql>use
dbname;
打開資料庫:
mysql>show
databases;
顯示所有資料庫
mysql>show
tables;
顯示資料庫mysql中所有的表:先use
mysql;然後
mysql>describe
user;
顯示表mysql資料庫中user表的列信息);
3、grant
創建一個可以從任何地方連接伺服器的一個完全的超級用戶,但是必須使用一個口令something做這個
mysql>
grant
all
privileges
on
*.*
to
user@localhost
identified
by
'something'
with
增加新用戶
格式:grant
select
on
資料庫.*
to
用戶名@登錄主機
identified
by
「密碼」
GRANT
ALL
PRIVILEGES
ON
*.*
TO
monty@localhost
IDENTIFIED
BY
'something'
WITH
GRANT
OPTION;
GRANT
ALL
PRIVILEGES
ON
*.*
TO
monty@」%」
IDENTIFIED
BY
'something'
WITH
GRANT
OPTION;
刪除授權:
mysql>
revoke
all
privileges
on
*.*
from
root@」%」;
mysql>
delete
from
user
where
user=」root」
and
host=」%」;
mysql>
flush
privileges;
創建一個用戶custom在特定客戶端it363.com登錄,可訪問特定資料庫fangchandb
mysql
>grant
select,
insert,
update,
delete,
create,drop
on
fangchandb.*
to
custom@
it363.com
identified
by
『
passwd'
重命名表:
mysql
>
alter
table
t1
rename
t2;
4、mysqlmp
備份資料庫
shell>
mysqlmp
-h
host
-u
root
-p
dbname
>dbname_backup.sql
恢復資料庫
shell>
mysqladmin
-h
myhost
-u
root
-p
create
dbname
shell>
mysqlmp
-h
host
-u
root
-p
dbname
<
dbname_backup.sql
如果只想卸出建表指令,則命令如下:
shell>
mysqladmin
-u
root
-p
-d
databasename
>
a.sql
如果只想卸出插入數據的sql命令,而不需要建表命令,則命令如下:
shell>
mysqladmin
-u
root
-p
-t
databasename
>
a.sql
那麼如果我只想要數據,而不想要什麼sql命令時,應該如何操作呢?
mysqlmp
-T./
phptest
driver
其中,只有指定了-T參數才可以卸出純文本文件,表示卸出數據的目錄,./表示當前目錄,即與mysqlmp同一目錄。如果不指定driver
表,則將卸出整個資料庫的數據。每個表會生成兩個文件,一個為.sql文件,包含建表執行。另一個為.txt文件,只包含數據,且沒有sql指令。
5、可將查詢存儲在一個文件中並告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向實用程序來完成這項工作。例如,如果在文件my_file.sql
中存放有查
詢,可如下執行這些查詢:
例如,如果您想將建表語句提前寫在sql.txt中:
mysql
>
mysql
-h
myhost
-u
root
-p
database
<
sql.txt
❾ mysql常用查詢命令
1. SELECT:查詢內容,語法:SELECT 列名稱 FROM 表名稱
2. SELECT DISTINCT 查詢非重復內容,語法:SELECT DISTINCT 列名稱 FROM 表名稱
3. WHERE 查詢條件, 子句中可以指定任何條件,條件與條件之間用and 和 or 隔開
語法:SELECT 列名稱 FROM 表名稱 WHERE條件1 AND 條件2
4. AND 和 OR 運算符,將 WHERE 中的多個條件結合起來。操作符包括:=(等於)、<>或=!(不等於)、>(大於)、<(小於)、>=(大於等於)、<=(小於等於)
空值條件:IS NULL;非空值IS NOT NULL;查詢多個值IN()
5. ORDER BY 排序,默認為升序,欄位後加DESC為降序
6. GROUP BY 分組 ,對結果進行分組
7. LEFT JOIN 左連接,兩張表合並保留左表的全部內容,只要掌握左連接
語法:SELECT列名稱 FROM 表1 LEFT JOIN 表2 ON 表1.某列 = 表2.某列
了解:RIGHT JOIN(右連接),INNER JOIN(內連接)、FULL JOIN(全連接)
8. UNION all上下合並,兩張表上下合並(了解)
9. LIKE 模糊查詢(了解)
語法: SELECT 列名稱 FROM 表名稱 WHERE 某列 like 「%字元%」
10.SUM 求和
語法:SELECT SUM(列名稱) FROM 表名稱
11. COUNT 計數
語法:SELECT COUNT(列名稱) FROM 表名稱
12. IF 判斷 語法:同excel
13. MIN,MAX等
14. round 四捨五入
15. concat 字元串連接
16. UPDATE:修改內容,語法:update 表名 set 修改欄位= 新內容 where 修改條件
17. substring 字元串截取
18. cast 定義數值類型(了解)
19. CASE … WHEN … THEN …. END 滿足某一個條件時執行/替換,可用於條件計數
20. DATEDIFF 兩個日期之間間隔的天數
21. SUBDATE 日期往前數 ,語法:SUBDATE(date,INTERVAL expr unit)
例子:SUBDATE(「2018-10-1」,INTERVAL 1 day) 代表10月1日往前數1天,結果是9月30;SUBDATE(「2018-10-1」,INTERVAL 1 month) 代表10月1日往前數1月,結果是2018-9-1
❿ MySQL的命令行客戶端是Unix系統嗎
不是,只是與mysql交互的程序