国产精品毛片一区二区三区四区_国产亚洲中文日韩欧_91 超碰在线观看_一二三四电影在线观看免费_亚洲第一午夜福利网站_中文字幕在线永久_国产人妖的免费的视频_在线日韩视频成人网站观看_国产后入学生妹清纯妺_激情视频激情图片国产亚洲

  1. 首頁(yè)
  2. 新聞資訊
  3.  
  4. 建站經(jīng)驗(yàn)
  5.  

MySQL語(yǔ)句大全

發(fā)布時(shí)間:2018-08-23 13:14:32 來(lái)源:
文章正文

整理了mysql語(yǔ)句,每天練習(xí)一遍,對(duì)你有幫助的!

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


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

如:mysql>create database abc; 默認(rèn)創(chuàng)建數(shù)據(jù)庫(kù)保存在/var/lib/mysql
查看數(shù)據(jù)庫(kù)是 mysql>show abc;
選擇數(shù)據(jù)庫(kù)是 USE 數(shù)據(jù)庫(kù)名稱如:mysql>use abc;
刪除數(shù)據(jù)庫(kù)是 DROP DATABASE 數(shù)據(jù)庫(kù)名稱; 如:mysql>drop database abc;

數(shù)據(jù)庫(kù)的創(chuàng)建和刪除

創(chuàng)建表是 CREATE TABLE 表名稱(字段1,字段2,…[表級(jí)約束]) [TYPE=表類型];
其中字段(1,2 )格式為:字段名 字段類型 [字段約束]
如創(chuàng)建一個(gè)表student,如下:

mysql>create table student (
sno varchar(7not null, 字段不允許為空
sname varchar (20 )not null,
ssex char (1) default ‘t’,
sbirthday date,
sdepa char (20),
primary key (sno) 表的主鍵
);

可用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 student add saddress varchar(25);
更改字段名和字段類型: mysql>alter table student change saddress sremark test;
即使不更改字段類型也要給出字段類型如:
mysql>alter table student change saddress sremark varchar (25);
更改字段類型 :mysql> alter table student modify sremark varchar(25);
刪除字段: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命令的縮寫(xiě)格式,
如: mysql>insert into student values (‘0321001’, ‘Liu Tao’, default, 19870201, ‘mth’);


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


一個(gè)單獨(dú)的insert語(yǔ)句中可使用多個(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;


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


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


索引的創(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[(長(zhǎng)度)]);
如:mysql>create index sna on student (sname);


對(duì)于類型為CHAR和VARCHAR的字段建立索引時(shí)還可指定長(zhǎng)度值,類型為BLOB和TEXT的字段索引時(shí)必須指定長(zhǎng)度值。
如 mysql>create index sna on student (sname(10));


刪除索引 DROP INDEX 索引 ON表名稱;
如:mysql>drop index sna on student;

 

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

初始化時(shí)有5個(gè)MySQL授權(quán)表,其中host、tables_privcolumnts_priv 是空的,表userdb決定了MySQL默認(rèn)的訪問(wèn)規(guī)則。默認(rèn)有mysqltest兩個(gè)數(shù)據(jù)庫(kù)。
授權(quán)表:user 用戶從哪些主機(jī)可以連接到數(shù)據(jù)庫(kù)服務(wù)器,以及對(duì)所以數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限(全局權(quán)限)
db 用戶可以使用哪些權(quán)限,以及對(duì)數(shù)據(jù)庫(kù)執(zhí)行哪些操作(數(shù)據(jù)庫(kù)級(jí)權(quán)限)
host 當(dāng)表db 中的host 字段值為空時(shí),用戶從哪些主機(jī)可以連接到數(shù)據(jù)庫(kù)服務(wù)器。
tables_priv 連接的用戶可以訪問(wèn)哪些表(表級(jí)權(quán)限)
columnts_priv 連接的用戶可以訪問(wèn)哪些字段 (字段級(jí)權(quán)限)

 

創(chuàng)建新用戶

以MySQL管理員連接到數(shù)據(jù)庫(kù)服務(wù)器: #mysql –u root –p
創(chuàng)建新用戶guess并設(shè)置密碼,同時(shí)可以從任何主機(jī)連接數(shù)據(jù)庫(kù)服務(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ù)庫(kù)服務(wù)器 :#mysql –h 192.168.0.50 –u guess –p 開(kāi)放服務(wù)器的TCP斷口3306


查看當(dāng)前用戶可用數(shù)據(jù)庫(kù): 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è)置
在表user、dbhost中,所有字段聲明為ENUM(‘N’,’Y’),默認(rèn)是‘N’;
在表tables_privcolumns_priv中,權(quán)限字段聲明為SET類型
修改授權(quán)表中的訪問(wèn)權(quán)限有兩中方法,一是使用 INSERT、UPDATEDELETEDML語(yǔ)句,
另一中是GRANTGRVOKE語(yǔ)句
使用GRANT語(yǔ)句授權(quán):
格式如下:
GRANT 權(quán)限列表 [(字段列表)] on 數(shù)據(jù)庫(kù)名稱.表名稱
TO 用戶名@域名或IP地址
[INDETIFIED BY ‘密碼值’] [WITH CRANT OPTION];

授權(quán)哪個(gè)用戶能連接,從哪連接
如:授權(quán)用戶guest從任意主機(jī)連接數(shù)據(jù)庫(kù)服務(wù)器,并具有完全訪問(wèn)數(shù)據(jù)庫(kù)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)限。
數(shù)據(jù)庫(kù)名稱.表名稱處可以使用通配符“*”。如“abc.*”表數(shù)據(jù)庫(kù)abc中所有表
用戶名@域名或IP地址設(shè)置誰(shuí)能連,從哪連。用戶名 不能用通配符,但可以用‘ ’空字符串,表任何用戶;域名或IP地址可以用通配符“%”,使用是用單引號(hào)括起來(lái)。

授權(quán)用戶不同級(jí)別的訪問(wèn)權(quán)限
如:新建用戶tom,能從子網(wǎng)192.168.16.0訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,可以讀取數(shù)據(jù)庫(kù)xsxk,并能修改表course 中字段teacher的值
mysql>grant select on xsxd.* to tom@’192.168.16.%’ indentifiend by ‘123456’;
mysql>grant update(teacher) on xsxd.course to tom@’192.168.16.%’’
注意幾點(diǎn):數(shù)據(jù)庫(kù)名稱.表名稱 用來(lái)設(shè)置權(quán)限運(yùn)用的級(jí)別,有全局的(*.*,指定數(shù)據(jù)庫(kù)的(xsxd.*
和指定表的(xsxd.student;
字段列表 設(shè)置權(quán)限運(yùn)用中指定的表中的哪些字段,如update(cname,teacher)
權(quán)限列表 指定的權(quán)限與權(quán)限運(yùn)行的級(jí)別有關(guān),如有寫(xiě)權(quán)限(FILEPROCESS、RELOAD、SHUTDOWN)作為管理權(quán)限用于全局級(jí)別;對(duì)于字段級(jí)別只能指定SELECT、INSERTUPDATE、REFERENCES

 

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

如:管理員授予擁護(hù)admin可以從本地連接數(shù)據(jù)庫(kù)服務(wù)器,對(duì)數(shù)據(jù)庫(kù)xsxk具有完全訪問(wèn)權(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語(yǔ)句撤權(quán)
格式如下:
REVOKE 權(quán)限列表[(字段列表)] on數(shù)據(jù)庫(kù)名稱.表名稱
FROM用戶名@域名或IP地址
如:撤消用戶admin@localhost 對(duì)數(shù)據(jù)庫(kù)xsxd的創(chuàng)建、刪除數(shù)據(jù)庫(kù)及表的權(quán)限,不撤消用戶賦予其它用戶的權(quán)限
mysql>revoke create,drop on xsxd.* from admin@localhost;
mysql>revoke grant option on xsxd.* from admin@localhost;

 

新聞資訊

 

服務(wù)項(xiàng)目

 

聯(lián)系我們

  • 咨詢電話:13316437003
  • 地址:廣東省深圳市福田區(qū)八卦四路中浩大廈2樓201
  • 業(yè)務(wù)咨詢:點(diǎn)擊這里給我發(fā)消息
  • 技術(shù)服務(wù):點(diǎn)擊這里給我發(fā)消息
  • 售后郵箱:service@dcnop.com
  • 技術(shù)郵箱:zcl@dcnop.com

 

微信公眾號(hào)

  • 客服:點(diǎn)擊這里給客服發(fā)消息

    技術(shù):點(diǎn)擊這里給技術(shù)發(fā)消息

    大誠(chéng)網(wǎng)絡(luò)--深圳網(wǎng)站制作|深圳網(wǎng)站優(yōu)化|深圳網(wǎng)站運(yùn)營(yíng)

    客戶服務(wù)熱線

    0755-82400810

    在線客服