MySQL常用配置和SQL語句

MySQL服務(wù)的配置和使用

**修改MySQL管理員的口令:mysqladmin –u root password 密碼字符串 **

mysqldmin –u root password 111111

**連接MySQL服務(wù)器侮东,使用命令: mysql [-h 主機(jī)名或IP地址] [-u 用戶名] [-p] **

mysql –u root –p

如已有密碼需修改root密碼用命令: mysqladmin –u root –p password 新密碼字符串

mysqladmin –u root –p password 111111

數(shù)據(jù)庫的創(chuàng)建粥航、修改和刪除

創(chuàng)建數(shù)據(jù)庫格式為:CREATE DATABASE 數(shù)據(jù)庫名稱;

mysql>CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 默認(rèn)創(chuàng)建數(shù)據(jù)庫保存在/var/lib/mysql中

查看數(shù)據(jù)庫是

mysql>show abc;

選擇數(shù)據(jù)庫是 USE 數(shù)據(jù)庫名稱

mysql>use abc;

刪除數(shù)據(jù)庫是 DROP DATABASE 數(shù)據(jù)庫名稱

mysql>drop database abc;

查看數(shù)據(jù)庫中建表語句

show create table mysql.proxies_priv\G

創(chuàng)建表是 CREATE TABLE 表名稱(字段1,字段2搜吧,…[表級約束]) [TYPE=表類型]杨凑;

其中字段(1,2 )格式為:字段名 字段類型 [字段約束]

CREATE TABLE `ts_notify_node` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `node` varchar(50) NOT NULL COMMENT '節(jié)點(diǎn)名稱',
  `nodeinfo` varchar(50) NOT NULL COMMENT '節(jié)點(diǎn)描述',
  `appname` varchar(50) NOT NULL COMMENT '應(yīng)用名稱',
  `title_key` varchar(50) NOT NULL COMMENT '標(biāo)題key',
  `content_key` varchar(50) NOT NULL COMMENT '內(nèi)容key',
  `node_content` varchar(100) NOT NULL DEFAULT '' COMMENT '內(nèi)容',
  `send_push` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '是否發(fā)送手機(jī)推送通知',
  `type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '信息類型:1 表示用戶發(fā)送的 2表示是系統(tǒng)發(fā)送的',
  `action` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '跳轉(zhuǎn)類型撩满,跳轉(zhuǎn)類型,1:活動(dòng)詳情頁 2:資訊 3:熱門話題頁 4:故事詳情頁 5:H5鏈接 6:專題頁 7:訂單詳情頁 8:個(gè)人詳情頁 9:圖文詳情頁 10:評論詳情頁 11:直播頁',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=utf8

可用describe命令查看表的結(jié)構(gòu)

默認(rèn)表的類型為MYISAM忌锯,并在/var/lib/mysql/abc 目錄下建立student.frm(表定義文件)领炫,student.MDY(數(shù)據(jù)文件)驹吮,stedent.MYI(索引文件)碟狞。

復(fù)制表 CREATE TABLE 新表名稱 LIKE 原表名稱婚陪;

mysql>create table xtable like student;

刪除表 DROP TABLE 表名稱1[表名稱2…];

mysql> drop table xtale;

修改表 ALTER TABLE 表名稱 更改動(dòng)作1[動(dòng)作2]

動(dòng)作有ADD(增加) DROP(刪除)CHANGE泌参、MODIFY(更改字段名和類型)RENAME

增加字段

mysql>alter table xm_jpush add msg_id varchar(100) NOT NULL DEFAULT 0 comment '信息ID' after id;

更改字段名和字段類型

mysql>alter table student change saddress sremark test;

即使不更改字段類型也要給出字段類型

mysql>alter table student change saddress sremark varchar (25);

更改字段類型

mysql> alter table xm_jpush modify msg_id varchar(100) NOT NULL DEFAULT 0;

刪除字段

mysql>alter table student drop sremark沽一;

更改表名稱

mysql>alter table student rename to xs铣缠;

表中數(shù)據(jù)的插入、刪除和修改

插入記錄: INSERT INTO 表名稱(字段名1,字段名2…)VALUES(字段1的值蝇庭,字段2的值)
如:mysql>insert into student (sno,sname,ssex,sbirthday,sdepa) values(‘0321001’,’Liu Tao’,dagault,19870201,’math’);

**查看表 **
mysql>select * from student;

插入與前面相同的記錄哮内,可用insert命令的縮寫格式北发,
如: mysql>insert into student values (‘0321001’, ‘Liu Tao’, default, 19870201, ‘mth’);

如果字段名列表中沒有給出表中的某些字段泰涂,那么這些字段設(shè)置為默認(rèn)值逼蒙,
如:mysql>insert into student (sno,sname,sbirthday) values(‘0321002’,’Wang Jun’,1870112);

一個(gè)單獨(dú)的insert語句中可使用多個(gè)valuse字句,插入多條記錄僵井,
如:mysql>insert into student values (‘0322001’, ‘Zhang Liaoyun’, ‘f’ 1971102,’computer’),(‘0322002’, ‘Li Ming’, ‘t’ 1971105,’computer’);

刪除記錄: DELETE FROM 表名稱 WHERE 條件表達(dá)式批什;
如:mysql>delete from student where sno=’0321002’;

刪除student表中sno字段值前4位為‘0322’的記錄
如:mysql>delete from student where left (sno,4)=’0322’;

刪除所以記錄驻债,可以不帶where字句
如:mysql>delete from student;

刪除不在某些ID的值,多個(gè)ID值
delete from sns_hits where id not in (1,2,3)

刪除所以記錄可以用命令truncate 刪除表暮的,然后重建表冻辩,所以比delete命令快
如:mysql>truncate table student;

修改記錄 UPDATE 表名稱 SET 字段名1=字段值1 WHERE 條件表達(dá)式
如: mysql>update student set sbirthday=1920113, sdepa=’math’ where sno=’0321002’;

查詢一表在另一表中不存在的數(shù)據(jù)
select * from goods g LEFT JOIN goods_common gc on g.goods_commonid=gc.goods_commonid where gc.goods_commonid is null;

索引的創(chuàng)建與刪除

在創(chuàng)建表的同時(shí)創(chuàng)建索引

創(chuàng)建表時(shí)恨闪,可用INDEX字句或UNIQUE(字段值必須惟一)字句創(chuàng)建索引
如:創(chuàng)建課程表course, 課程編號(hào)cno字段為主鍵,課程名稱cname字段創(chuàng)建一個(gè)名為can的索引

mysql>create table course(
      cno varchar(5) not null,
      cname varchar(30) not null,
      teacher varchar(20),
      primary key (cno),
      index can (cname)
 );

向已存在的表添加索引 CREATE [UNIQUE ] INDEX 索引名ON表名稱 (字段名1[(長度)])放坏;

mysql>create index sna on student (sname);

alter table 數(shù)據(jù)庫 add index 索引名稱(數(shù)據(jù)庫字段名稱)

** PRIMARY KEY(主鍵索引)**

ALTER TABLEtable_nameADD PRIMARY KEY (column)

UNIQUE(唯一索引)

ALTER TABLEtable_nameADD UNIQUE (column)

INDEX(普通索引)

mysql>ALTER TABLEtable_nameADD INDEX index_name (column)

FULLTEXT(全文索引)

ALTER TABLEtable_nameADD FULLTEXT (column)

對于類型為CHAR和VARCHAR的字段建立索引時(shí)還可指定長度值咙咽,類型為BLOB和TEXT的字段索引時(shí)必須指定長度值。

mysql>create index sna on student (sname(10));

刪除索引 DROP INDEX 索引 ON表名稱轻姿;

mysql>drop index sna on student;
Alter table tb drop primary key;//刪除主建

用戶的創(chuàng)建和刪除

初始化時(shí)有5個(gè)MySQL授權(quán)表犁珠,其中host、tables_priv和columnts_priv 是空的互亮,表user和db決定了MySQL默認(rèn)的訪問規(guī)則犁享。默認(rèn)有mysql和test兩個(gè)數(shù)據(jù)庫豹休。

授權(quán)表:
user 用戶從哪些主機(jī)可以連接到數(shù)據(jù)庫服務(wù)器炊昆,以及對所以數(shù)據(jù)庫的訪問權(quán)限(全局權(quán)限)
db 用戶可以使用哪些權(quán)限,以及對數(shù)據(jù)庫執(zhí)行哪些操作(數(shù)據(jù)庫級權(quán)限)
host 當(dāng)表db 中的host 字段值為空時(shí)威根,用戶從哪些主機(jī)可以連接到數(shù)據(jù)庫服務(wù)器凤巨。
tables_priv 連接的用戶可以訪問哪些表(表級權(quán)限)
columnts_priv 連接的用戶可以訪問哪些字段 (字段級權(quán)限)

創(chuàng)建新用戶
以MySQL管理員連接到數(shù)據(jù)庫服務(wù)器: #mysql –u root –p
創(chuàng)建新用戶guess并設(shè)置密碼,同時(shí)可以從任何主機(jī)連接數(shù)據(jù)庫服務(wù)器:
mysql>insert into mysql.user (host,user,password) values (‘%’,’gusee’,password(‘guest’)); 使用password()函數(shù)洛搀,密碼是加密的

重載MySQL授權(quán)表

mysql>flush privileges;

遠(yuǎn)程客戶端連接數(shù)據(jù)庫服務(wù)器

mysql –h 192.168.0.50 –u guess –p 開放服務(wù)器的TCP斷口3306

查看當(dāng)前用戶可用數(shù)據(jù)庫

show database

刪除用戶

mysql>delete from mysql.user where user=’guest’;
mysql>flush privileges;      重載MySQL授權(quán)表

更改用戶密碼

更改guset密碼為123456

mysql>update mysql.user set password=password(‘123456’)where user =’guset’;
mysql>flush privileges;
或者是 mysql>set password for guset@’%’=password(‘123456’);

用戶權(quán)限的設(shè)置

指定數(shù)據(jù)庫權(quán)限給某個(gè)用戶
grant all on sck_blog.* to songchaoke@localhost identified by 'songchaokemysql';

在表user敢茁、db和host中,所有字段聲明為ENUM(‘N’,’Y’),默認(rèn)是‘N’;
在表tables_priv和columns_priv中留美,權(quán)限字段聲明為SET類型
修改授權(quán)表中的訪問權(quán)限有兩中方法彰檬,一是使用 INSERT伸刃、UPDATE和DELETE等DML語句,另一中是GRANT和GRVOKE語句

使用GRANT語句授權(quán)

格式如下:

GRANT 權(quán)限列表 [(字段列表)] on 數(shù)據(jù)庫名稱.表名稱
TO 用戶名@域名或IP地址
[INDETIFIED BY ‘密碼值’] [WITH CRANT OPTION];

授權(quán)哪個(gè)用戶能連接逢倍,從哪連接

如:授權(quán)用戶guest從任意主機(jī)連接數(shù)據(jù)庫服務(wù)器捧颅,并具有完全訪問數(shù)據(jù)庫abc的權(quán)限。

Mysql>grant all on abc.* to guset@’%’ identified by ‘guest’

注意幾點(diǎn):

如指定用戶不存在较雕,則創(chuàng)建該新用戶碉哑;
‘權(quán)限列表’處ALL表示授予全部權(quán)限,USAGE表不授予任何權(quán)限亮蒋。
‘?dāng)?shù)據(jù)庫名稱.表名稱’處可以使用通配符“”扣典。如“abc.”表數(shù)據(jù)庫abc中所有表
‘用戶名@域名或IP地址’設(shè)置誰能連,從哪連慎玖。用戶名 不能用通配符激捏,但可以用‘ ’空字符串,表任何用戶凄吏;域名或IP地址可以用通配符“%”,使用是用單引號(hào)括起來闰蛔。

授權(quán)用戶不同級別的訪問權(quán)限

如:新建用戶tom,能從子網(wǎng)192.168.16.0訪問數(shù)據(jù)庫服務(wù)器痕钢,可以讀取數(shù)據(jù)庫xsxk,并能修改表course 中字段teacher的值

mysql>grant select on xsxd.* to tom@’192.168.16.%’ identified by ‘123456’;
mysql>grant update(teacher) on xsxd.course to tom@’192.168.16.%’’

注意幾點(diǎn):

數(shù)據(jù)庫名稱.表名稱 用來設(shè)置權(quán)限運(yùn)用的級別,有全局的(.),指定數(shù)據(jù)庫的(xsxd.*)和指定表的(xsxd.student);
字段列表 設(shè)置權(quán)限運(yùn)用中指定的表中的哪些字段序六,如update(cname,teacher)
權(quán)限列表 指定的權(quán)限與權(quán)限運(yùn)行的級別有關(guān)任连,如有寫權(quán)限(FILE、PROCESS例诀、RELOAD随抠、SHUTDOWN)作為管理權(quán)限用于全局級別;對于字段級別只能指定SELECT繁涂、INSERT拱她、UPDATE、REFERENCES

授予用戶管理權(quán)限的權(quán)利

如:管理員授予擁護(hù)admin可以從本地連接數(shù)據(jù)庫服務(wù)器扔罪,對數(shù)據(jù)庫xsxk具有完全訪問權(quán)限秉沼,并可以將擁有的權(quán)限賦予其他用戶

 mysql>grant all on xsxd.* to admin@localhost indentified by ‘123456’ with grant option;
   其中with grant option 子句表示擁護(hù)擁有的權(quán)限可以賦予其他用戶。
   mysql>qrant select on xsxd.student to bill@localhost;  授予bill用戶權(quán)限
   mysql>show grants for admin@localhost;   查看用戶權(quán)限

使用REVOKE語句撤權(quán)

格式如下:
REVOKE 權(quán)限列表[(字段列表)] on數(shù)據(jù)庫名稱.表名稱
FROM用戶名@域名或IP地址
撤消用戶admin@localhost 對數(shù)據(jù)庫xsxd的創(chuàng)建矿酵、刪除數(shù)據(jù)庫及表的權(quán)限唬复,不撤消用戶賦予其它用戶的權(quán)限

   mysql>revoke create,drop on xsxd.* from admin@localhost;
   mysql>revoke grant option on xsxd.* from admin@localhost;

MySQL差異對比

mysqldiff --server1=root:DYqdEpZx7vF4UQey@localhost:3306 --server2=root:DYqdEpZx7vF4UQey@localhost:3306 sns_ceshi.ts_advertising:sns.ts_advertising
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市全肮,隨后出現(xiàn)的幾起案子敞咧,更是在濱河造成了極大的恐慌,老刑警劉巖辜腺,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件休建,死亡現(xiàn)場離奇詭異乍恐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)丰包,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門禁熏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人邑彪,你說我怎么就攤上這事瞧毙。” “怎么了寄症?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵宙彪,是天一觀的道長。 經(jīng)常有香客問我有巧,道長释漆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任篮迎,我火速辦了婚禮男图,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甜橱。我一直安慰自己逊笆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布岂傲。 她就那樣靜靜地躺著难裆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪镊掖。 梳的紋絲不亂的頭發(fā)上乃戈,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機(jī)與錄音亩进,去河邊找鬼症虑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛归薛,可吹牛的內(nèi)容都是我干的侦讨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼苟翻,長吁一口氣:“原來是場噩夢啊……” “哼韵卤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起崇猫,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤沈条,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后诅炉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜡歹,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屋厘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了月而。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汗洒。...
    茶點(diǎn)故事閱讀 40,146評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖父款,靈堂內(nèi)的尸體忽然破棺而出溢谤,到底是詐尸還是另有隱情,我是刑警寧澤憨攒,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布世杀,位于F島的核電站,受9級特大地震影響肝集,放射性物質(zhì)發(fā)生泄漏瞻坝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一杏瞻、第九天 我趴在偏房一處隱蔽的房頂上張望所刀。 院中可真熱鬧,春花似錦捞挥、人聲如沸勉痴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瀑罗,卻和暖如春胸嘴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背斩祭。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工劣像, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摧玫。 一個(gè)月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓耳奕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親诬像。 傳聞我的和親對象是個(gè)殘疾皇子屋群,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容