MySQL基本操作

2021-09-25 01:14:11 字數 3412 閱讀 7206

1、常用的函式:

1)inet_aton、inet_ntoa等轉換函式。

inet_aton:如乙個點分十進位制的ip為12.34.56.78,經過該函式轉換後結果為203569230。原理:12.34.56.78對應的十六進製制是c.22.38.4e即c22384e,所以十進位制就是203569230。inet_ntoa的功能跟inet_aton相反,即把203569230轉換成12.34.56.78。例子:

計算12.34.56.78的ip c段:select inet_ntoa(inet_aton('12.34.56.78')&0xffffff00);,結果是12.34.56.0。

2)length函式:返回字串長度,以位元組為單位;char_length函式:返回字串長度,以字元為單位。

2、列操作:

1)刪除列col_name:alter table tab_name drop column col_name;

2)將列名改為new_col_name且/或修改列的型別為col_type:

alter table tab_name change old_col_name new_col_name col_type;

3)調整列的順序,將列old_col_name放置在列some_col之後(可以同時重新命名和修改列型別,參照2)):

alter table tab_name change old_col_name new_col_name col_type after some_col;

3、表操作:

1)根據已有表建立新錶:create table test2 like test1;

2)重新命名表:rename table test2 to test3;

3)刪除多個表:drop table test1, test2, test3;

4)批量刪除(某個庫中的)表

select concat('

drop table db_name.

', table_name, '

;') from information_schema.tables where table_name like

'%table_pre%

';

將上面的結果另存為a.sql,再在mysql中執行source a.sql;,批量刪除表。

5)檢視表名匹配某個模式的表:show tables like '%20131105%';

6)用結果集建立乙個新錶:create table test1 as select *from test2;

4、資料庫操作:

1)檢視當前正在使用的資料庫:select database();

5、資料匯出與匯入

1)匯出

(1)mysqldump(乙個資料庫備份程式)。

mysqldump -uusername -ppasswd db_name table_name--where="

column_name='***'

"> a.sql

a.sql中包含表示表定義和表資料的sql語句等。

2)匯入

(1)使用mysqldump匯出的結果:

mysql -uusername -ppasswddb_name < a.sql

6、插入/更新/替換:

1)無則插入,有則更新(根據唯一索引或主鍵判斷有無):insert into table_name values(... ...)on duplicate key updatecolumn_name = new_value;

若實際插入了一條新記錄,則affected-rows是1;若是更新了一條已有記錄,則affected-rows為2。

2)無則插入,有則替換(根據唯一索引或主鍵判斷有無):replace into table_name values(... ...);

7、結果處理:

1)group_concat():分組之後,將組內的結果按","連線起來。例子:

sql語句是:select name, group_concat(book) from (select name, concat(book_name, ":", book_num) as book from temp) as a group by name; 結果即右上圖。

2)隨機選擇表中的若干條記錄:select * from test1 order by rand() limit 5;

8、賬戶相關操作

1)建立乙個賬戶的步驟:

(1)建立乙個無密碼登陸、沒有任何許可權的使用者:create user username@hostname;

(2)修改賬戶密碼:update mysql.user set password =password('your password')where host = 'hostname' and user = 'username';

使用flush使上面的update語句即時生效,而不需要重啟mysql:flush privileges;

這兩個步驟可以合併('*abc24182cda346de32475ed7b40aeac7113aa1f0'是password('your password')的返回值):

create user 'username'@'hostname' identified by password '*abc24182cda346de32475ed7b40aeac7113aa1f0';

(3)授予許可權(除了grant許可權):如grant all on *.* to 'username'@'hostname';

如要授予grant許可權,則在該語句後面加上with grant option;

或撤銷許可權:如revoke insert on *.* from 'username'@'hostname';

檢視當前使用者被授予的許可權:show grants;

2)刪除使用者

dropuser username@hostname

;delete

from mysql.user

where

user='

username

'and host =

'hostname

';

3)檢視當前使用者:select user();

mysql基本操作 MySQL基本操作

mysql中新增使用者,新建資料庫,使用者授權,刪除使用者,修改密碼 注意每行後邊都跟個 表示乙個命令語句結束 1.新建使用者 1.1 登入mysql mysql u root p 密碼 1.2 建立使用者 mysql insert into mysql.user host,user,passwor...

mysql 基本操作 mysql基本操作

mysql 建立表,並設定主鍵自增 create table log logid int 4 primary key not null auto increment,logtitle varchar 32 not null logcontent varchar 160 not null logtim...

mysql基本操作

1,檢視資料庫狀態 及啟動停止 etc init.d mysqld status etc init.d mysqld start etc init.d mysqld stop 2,給使用者配置初始密碼123456 mysqladmin u root password 123456 3,修改root使...