mysql數據庫的簡單操作

學習過程中的筆記,有不全的,還望大家補充。。。。
 
 
使用mysql:
mysql -u root -p密碼
create 語句
創建數據庫:mysql> create database wang;
創建帶有默認字符集的庫:
mysql> create database bing default character set utf8;
查看當前所在的庫:mysql> select database( );
創建表:
mysql> create table t1(id int(10),name char(20),QQ int(15),mail char(20));
查看錶結構:
mysql> desc t1;
mysql> desc t1\G
查看創建表的過程(可以得到建表的語句):
mysql> show create table t1;
drop語句:
刪除數據庫:
mysql> drop database wang;
刪除表:
mysql> drop table t1;
alter語句:
修改表名:
mysql>alter table t1 rename to tt1;
修改格式:
mysql> desc tt1;看錶結構
mysql> alter table tt1 modify id int(20) not null;
字段名:
mysql> desc tt1;
mysql> alter table tt1 change id uid int(20) not null;
添加字段:
mysql> desc tt1;
mysql> alter table tt1 add gongzi int(9);
刪除字段:
mysql> desc tt1;
mysql> alter table tt1 drop gongzi;
 
添加到制定字段後:
mysql> desc tt1;
mysql> alter table tt1 add gongzi int(9)after name;
 
添加到最前面
mysql> desc tt1;
mysql> alter table tt1 add bianhao int(9) first;
 
insert語句:
mysql> desc tt1;
mysql> insert into tt1(uid,name,gongzi,QQ) values(1,'zhang',4500,554809032);
mysql> select * from tt1;
 
delete語句:
刪除一條記錄:
mysql> delete from tt1 where uid=1;
 
udpate語句:
mysql> update tt1 set QQ=33333 where id=3;
mysql> update tt1 set gongzi=8000 where id=2;
 
select語句:
mysql> select distinct name from tt1;
mysql> select distinct name,QQ from tt1;
mysql> select name,QQ from tt1 where name='tang';
 
查看當前時間:
mysql> select now();
 
統計個數:
mysql> select count(id) from tt1;
 
高於:
mysql> select gongzi from tt1 where gongzi>2500;
mysql> select gongzi,uid from tt1 where gongzi>2500;
 
平均值:
mysql> select avg(gongzi) from tt1;
 
排序:
mysql> select * from tt1 order by gongzi desc;降序
mysql> select * from tt1 order by gongzi asc;升序
mysql> select * from tt1 order by gongzi;升序
降序前兩個:
mysql> select * from tt1 order by gongzi desc limit 2;
 
最小值:
mysql> select min(gongzi) from tt1;
最大值:
mysql> select max(gongzi) from tt1;
查看警告:
mysql> show warnings;
 
查看引擎:
mysql> show engines \G
 
數據庫備份:
法一:直接備份數據庫目錄:/var/local/mysql/var
法二:使用mysqldump命令完成備份
使用mysqldump命令可以將數據庫信息導出爲SQL腳本文件,這樣的腳本文件可以在不同版本的Mysql服務器上使用。
mysqldump命令可以完成全部數據庫、制定數據庫、數據表的備份。命令格式爲:
mysqldump -u 用戶名 -p [密碼] [options] [數據庫名] [表名] > /備份路徑/備份文件名
 
如備份lu數據庫:
[root@www~]# mysqldump -u root -p lu > ~/Desktop/mysql-lu.sql
備份數據庫中lu中的user表、host表
[root@www~]#mysqldump -u root -p lu user host > mysql.host-user.sql
備份mysql服務器中所有數據庫的內容(添加--all-databases選項)當需要備份的信息較多時,可添加--opt選項進行優化,以加快備份速度。
[root@www~]#mysqldump -u root -p --all-databases > mysql-all.sql
實際應用是作爲計劃任務,並打包。
 
恢復數據庫:
mysql -u root -p [數據庫名] < /備份路徑/備份文件名
備份文件mysql-all.sql包括所有的(或多個)數據庫信息時,執行mysql導入時可以不制定數據庫名
[root@www~]#mysql -u root -p < mysql-all.sql
備份文件只包含單個數據庫或單個數據表時,執行mysql導入時需要制定目標數據庫的名稱。
 
mysql戶權限設置:授予權限、查看權限、撤銷權限
1、授予權限:grant語句是用來創建用戶並進行授權的最常用的語句。當制定的用戶名不存在時,grant語句將會創建新的用戶,否則用於修改用戶信息。命令格式:
grant 權限列表  on 數據庫名.表名 to 用戶名@來源地址 [IDENTIFIED BY '密碼']
權限列表:用ALL關鍵字代表全部權限,同時授予多個權限時,以逗號","分隔,例如:select,insert,update,delete
表名:可使用通配符"*"表示制定數據庫中的所有數據表。
用戶名@來源地址:用來設置誰能連接,能從哪裏連接。用戶名不能使用通配符,但使用連續的兩個單引號('')時表示空字符串,可用於匹配任何用戶。來源地址表示連接數據庫的客戶機地址,可以使用%作爲通配符,匹配某個域內的所有地址(%.jacinto.com),或使用帶掩碼標記的網絡地址(如192.168.1.0/24)
IDENTIFIED BY:用於設置用戶連接數據庫時使用的密碼字符串,密碼經過加密後存儲於mysql庫的user表中,省略“IDENTIFIED BY”部分時,新用戶的密碼將爲空。
root@ly-virtual-machine:~/Desktop# mysql -u root -proot
如下例:
mysql> grant select on lu.tt1 to lpf@'localhost' identified by '123456'
 
2、查看權限:
法一:可以使用select語句對錶進行查詢;
法二:可以使用show語句進行查看,後者相對簡單,格式如下:
mysql>show grants for 用戶名@域名或ip;
mysql>show grants for admin3@'%.jacinto.com';
 
3、撤銷權限:
revoke 權限列表 on 數據庫名.表名 from 用戶名@域名或IP
mysql>revoke all on auth.* from admin3@'%.jacinto.com';
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章