mysql 常用命令

來源:互聯網
上載者:User

1、系統管理
    串連MYSQL(在mysql/bin)mysql -h主機地址 -u使用者名稱 -p mysql 3306 127.0.0.1 root root
退出MYSQL命令exit
    修改密碼(在mysql/bin)mysqladmin -u使用者名稱 -p舊密碼 password新密碼
使用者授權
grantselect[insert][,update][,delete]on資料庫.*to使用者名稱
@localhost("%", 表示任何主機)identifiedby "密碼"
增加使用者
mysqldump –u root –p opt資料庫名>備份檔案名
備份資料庫(在mysql/bin)
mysql –u root –p < batch file (例如備份檔案名)
使用批處理
mysql.server start
啟動伺服器
mysql.server stop
停止伺服器
msql.server log

2、查詢命令
select version()   查詢版本號碼
select current_date   查詢當前日期
3、顯示命令
show databases   顯示資料庫列表
show tables    顯示庫中的資料表
describe 表名    顯示資料表的結構
select * from 表名    顯示表中的記錄
select what_to_select from which table
    [whereconditions_to_satisfy and (or) where conditions_to_satisfy]
         從一個表中檢索資料『滿足條件』
select 欄位1,欄位2,… from 表名 顯示特定列的值
select * from 表名 order by 欄位名 排序行
select 欄位1,包含欄位2的運算式as 新欄位 from 表名 欄位值運算操作
select 欄位1 is null(is not null)    空值操作
select * from表名where欄位名like(not like) “ 字元”
允許使用“_”匹配任何單個字元, 而“%” 匹配任意數目字元 模式比對
Select * from表名where欄位名regexp(not regexp)或者rlike(not rlike)
“.”匹配任何單個的字元 一個字元類
[…]匹配方框內任何字元。例如[a],[asd],[az] 匹配任何小寫字母,[09] 匹配任何數字。
“*”匹配零個或者多個在它前面的東西。 Regex區分大小寫[aA]
如果它出現在被測試值的任何地方,模式都匹配
定位,在模式開始處用“^”,結尾處用“$”,例如“^b”
擴充Regex
Select count(*) from 表名
Select 欄位名,count(*) from 表名 group by 欄位名 行計數
4、編輯命令
use database 庫名   使用的資料庫
create database 庫名   建立資料庫
create table 表名   在資料庫中建立表
insert into表名values (“data”,”data”)  向表中添加記錄
Load data infile “/path/filename” intotable 表名
從檔案中向表添加資料, 檔案每行包括一條記錄, 用定位器(tab) 把值分開。
drop database 庫名   刪除資料庫
drop table 表名   刪除資料庫中的表
delete from表名where 刪除資料庫表中的記錄
Update表名set欄位=”值” wherewhereconditions_to_satisfy
更新資料庫表中記錄的值

 

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

1、啟動MySQL伺服器

兩種方法: 一是用winmysqladmin,如果機器啟動時已自動運行,則可直接進入下一步操作。 二是在DOS方式下運行 d:\mysql\bin\mysqld
(假設mysql 安裝在d:\mysql);當然也可以 net start mysql命令啟動。而Linux中啟動時可用“/etc/rc.d/init.d/mysqld start”命令,注 意啟動者應具有管理員權限。

2、進入mysql互動操作介面

在DOS方式下,運行: d:\mysql\bin\mysql
出現: mysql 的提示符” mysql> “,此時已進入mysql的互動操作方式。
如果出現 “ERROR 2003: Can′t connect to MySQL server on ′localhost′ (10061)“,說明你的MySQL還沒有啟動。

3、退出MySQL操作介面

在mysql>提示符下輸入quit可以隨時退出互動操作介面:  
mysql> quit
Bye

4、第一條命令(多條命令用 “,” 分隔 ,一條命令可以分成多行輸入,直到出現分號”;”為止

mysql> select version(),current_date();
mysql>Select (20+5)*4;
mysql>Select (20+5)*4,sin(pi()/3);
mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名為Result)

5、常用sql 語句

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’;
13:插入資料
mysq>linsert into MYTABLE values (1, ‘第二章’, 0×2134545);
14:登入後使用資料庫 mysql
mysql -u root -p mysql
mysql -u root -p -h 11.11.11.11 database
15:mysql jdbc串連url 使用中文
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312

[separator]

其它:
show processlist;列出每一筆聯機的資訊。
show varlables;列出mysql的系統設定。
show tables from db_name;列出db_name中所有資料表;
show [full] columns from table_name;列出table_name中完整資訊,如欄名、類型,包括字元集編碼。
show index from table_name; 列出table_name中所有的索引。
show table status;;列出當前資料庫中資料表的資訊。
show table status from db_name;;列出當前db_name中資料表的資訊。
alter table table_name engine innodb|myisam|memory ;更改表類型
explain table_name / describe table_name ; 列出table_name完整資訊,如欄名、類型。
show create table table_name 顯示當前表的建表語句
alter table table_name add primary key (picid) ; 向表中增加一個主鍵
alter table table_name add column userid int after picid 修改表結構增加一個新的欄位
alter table table_name character set gb2312 改變表的編碼
select user(); 顯示目前使用者。
select password(’root’); 顯示目前使用者密碼
select now(); 顯示當前日期
flush privileges 在不重啟的情況下重新整理使用者權限
mysqld –default-character-set=gb2312 ;設定預設字元集為gb2312

6、安全

剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性儘可能提高,在這裡應把匿名帳戶刪除、 root帳戶設定密碼,可用如下命令進行:

use mysql;
delete from User where User=”";
update User set Password=PASSWORD(’newpassword’) where User=’root’;

改完重啟 mysql 才會生效.

上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登入的資料庫的名稱。
在進行開發和實際應用中,使用者不應該只用root使用者進行串連資料庫,雖然使用root使用者進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理 技術的提高。我們給一個應用中使用的使用者賦予最恰當的資料庫許可權。如一個只進行資料插入的使用者不應賦予其刪除資料的許可權。MySql的使用者管理是通過 User表來實現的,添加新使用者常用的方法有兩個,一是在User表插入相應的資料行,同時設定相應的許可權;二是通過GRANT命令建立具有某種許可權的用 戶。其中GRANT的常用用法如下:

grant all on mydb.* to NewUserName@HostName identified by “password” ;
grant usage on *.* to NewUserName@HostName identified by “password”;
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;
grant all privileges on *.* to root@localhost
grant select,insert,delete,update,alter,create,drop on lybbs.* to NewUserName@”%” identified by “lybbs”;

若要給此使用者賦予他在相應對象上的許可權的管理能力,可在GRANT後面添加WITH GRANT OPTION選項。而對於用插入User表添加的使用者,Password欄位應用PASSWORD 函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的使用者應給予清除,許可權過界的使用者應及時回收許可權,回收許可權可以通過更新User表相應欄位, 也可以使用REVOKE操作。

全域系統管理權限:
FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務線程。
RELOAD: 重載存取控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
Alter: 修改已存在的資料表(例如增加/刪除列)和索引。
Create: 建立新的資料庫或資料表。
Delete: 刪除表的記錄。
Drop: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
Insert: 增加表的記錄。
Select: 顯示/搜尋表的記錄。
Update: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入–其它什麼也不允許做。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.