/**在命令列:匯入sql檔案**/
sources 'c:/documents and settings/administrator/桌面/優化查詢.sql' into table user_infor;
/**備份db**/
mysqldump -uroot -p123456 mydb>d:/backup20070713.sql;
/**在某個db上的某張表建立乙個使用者格式**/
grant select,insert,update,delete on *[(資料庫)].* to 使用者名稱@登入主機 identified by "密碼" ;
/**在資料庫為mydb的yser_infor上建立乙個使用者(賬戶:tfq,密碼:123456)***/
grant select,insert,update,delete on mydb.user_infor to tfq@'%' identified by '123456';
/*例1增加的使用者是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登入你的mysql資料庫
並對你的資料可以為所欲為了,解決辦法見例2.
例2,增加乙個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢,插入,修改,
刪除的操作(localhost指本地主機,即mysql資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,
他也無法從internet上直接訪問資料庫,只能通過mysql主機上的web頁來訪問了.
localhost=127.0.0.1
192.168.1.17
*/grant select,insert,update,delete on mydb.user_infor to tfq@localhost identified by "abc";
/*如果你不想test2有密碼,可以再打乙個命令將密碼消掉. */
grant select,insert,update,delete on mydb.user_infor to tfq@localhost identified by "";
/*重新整理系統許可權表. */
flush privileges;
/*刪除使用者.*/
drop user 'tfq'@localhost;
flush privileges;
/**修改使用者密碼**/
update mysql.user set password=password('tfq') where user="tfq" and host="localhost";
/**資料型別之間的轉換
cast(expr as type), convert(expr,type) , convert(expr using transcoding_name)
cast() 和convert() 函式可用來獲取乙個型別的值,並產生另乙個型別的值。
這個型別 可以是以下值其中的 乙個:
binary[(n)]
char[(n)]
date
datetime
decimal
signed [integer]
time
unsigned [integer]
select convert(1,varchar)+'要顯示的值';
select cast(1 as char)+'要顯示的值';
select cast(1 as varchar)
select cast(1 as varchar);
select convert(_latin1'6' using utf8);
/***mysql的優化查詢***/
/*** 1、使用索引
2、explain分析查詢
3、調整mysql的內部配置。
***/
#判斷db是否存在
create database if not exists mydb;
use mydb;
#判斷表是否存在
drop table if exists user_class;
create table user_class(
uc_id int auto_increment primary key,
uc_name nvarchar(30),
uc_remark text
);drop table if exists user_infor;
create table user_infor(
user_id int auto_increment primary key,
user_name char(30),
user_pwd int,
user_*** char(2),
user_birthday datetime,
uc_id int,
foreign key(uc_id) references user_class(uc_id) on delete cascade
)type=innodb;
/**插入user_class資料**/
#drop procedure insert_pro;
delimiter//
create procedure insert_class_pro()
begin
declare cout int;
set cout=1;
while cout<=15 do
insert into user_class values (null,cout+'年級','備註');
set cout=cout+1;
end while;
end;
///**插入user_infor資料**/
#drop procedure insert_user_pro;
delimiter//
create procedure insert_user_pro()
begin
declare cout int;
declare v_class int;
set cout=1;
set v_class=1;
while cout<=1000 do
if v_class>15 then
set v_class=v_class-15;
end if;
insert into user_infor values (null,cast(cout as char)+'張三','123456','男','1988-05-04',v_class);
set cout=cout+1;
set v_class=v_class+1;
end while;
end;
//call insert_class_pro();
call insert_user_pro();
select * from user_class
select * from user_infor;
explain select * from user_infor where 0;
distinct
mysql當找到當前記錄的匹配聯合結果的第一條記錄之後,就不再搜尋其他記錄了。
mysql 使用者管理 MySQL使用者管理
一 mysql使用者管理的必要性 如果我們只能使用root使用者,這樣安全隱患,這時,我們需要使用mysql的使用者管理技術.一次獲得 分配許可權user db tables priv columns priv 許可權範圍一次遞減,全域性許可權覆蓋區域性許可權。換句話說user表中的每個許可權都代表...
mysql授權 使用者管理 MySQL使用者管理 授權
建立使用者 命令 create user username host identified by password 說明 username 建立的使用者名稱 host 使用者可以在哪個主機上登入,任意主機選擇 password 使用者的密碼 例 create user arvin identifie...
mysql 使用者的管理
在命令列 匯入sql檔案 sources c documents and settings administrator 桌面 優化查詢.sql into table user infor 備份db mysqldump uroot p123456 mydb d backup20070713.sql 在...