前言
SQL程序語(yǔ)言有四種類(lèi)型,對(duì)數(shù)據(jù)庫(kù)的基本操作都屬于這四類(lèi),分別為:
- 數(shù)據(jù)定義語(yǔ)言(DDL)
- 數(shù)據(jù)查詢(xún)語(yǔ)言(DQL)
- 數(shù)據(jù)操縱語(yǔ)言(DML)
- 數(shù)據(jù)控制語(yǔ)言(DCL)
數(shù)據(jù)定義語(yǔ)言(DDL)
DDL(Data Definition Language):就是定義關(guān)系模式、刪除關(guān)系、修改關(guān)系模式及創(chuàng)建數(shù)據(jù)庫(kù)中的各種對(duì)象,如表、聚簇、索引、視圖、函數(shù)、存儲(chǔ)過(guò)程和觸發(fā)器等。
DDL是由SQL語(yǔ)言集中負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言,由CREATE、ALTER、DROP、TRUNCATE四個(gè)語(yǔ)法組成。
-- 創(chuàng)建表
create table student(
id int identity(1,1) not null,
name varchar(20) null,
grade numeric null
)
-- 增加一個(gè)年齡字段
alter table student add age int NULL
-- 刪除年齡字段,刪除字段前要加Column,不然會(huì)報(bào)錯(cuò),而添加字段不需要加column
alter table student drop Column age
-- 刪除student表
drop table student --刪除表數(shù)據(jù)和表結(jié)構(gòu)
truncate table student -- 只清空表的數(shù)據(jù),不刪除表結(jié)構(gòu)
數(shù)據(jù)操縱語(yǔ)言(DML)
DML(Data Manipulation Language):進(jìn)行插入元組、刪除元組、修改元組的操作。主要有insert、update、delete語(yǔ)法組成。
-- 向表中插入數(shù)據(jù)
INSERT INTO student (name, course,grade) VALUES ('張飛','語(yǔ)文',90),('劉備','數(shù)學(xué)',70),('關(guān)羽','歷史',25);
-- 更新關(guān)羽的成績(jī)
update student set grade='18' where name='關(guān)羽'
-- 刪除關(guān)羽
delete from student where name='關(guān)羽'
數(shù)據(jù)查詢(xún)語(yǔ)言(DQL)
DQL(Data Query Language):用來(lái)進(jìn)行數(shù)據(jù)庫(kù)中數(shù)據(jù)查詢(xún),即最常用的select語(yǔ)句。
-- 從student表中查詢(xún)所有的數(shù)據(jù)
select * from student
數(shù)據(jù)控制語(yǔ)言(DCL)
DCL(Data Control Language):用來(lái)授權(quán)或回收訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的某種特權(quán),并控制數(shù)據(jù)庫(kù)操縱事務(wù)發(fā)生的時(shí)間及效果,能夠?qū)?shù)據(jù)庫(kù)進(jìn)行監(jiān)視。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-434658.html
如常見(jiàn)的授權(quán)、取消授權(quán)、回滾、提交等操作。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-434658.html
-- 1、創(chuàng)建用戶(hù)
CREATE USER 用戶(hù)名@地址 IDENTIFIED BY '密碼';
--創(chuàng)建一個(gè)testuser用戶(hù),密碼111111
create user testuser@localhost identified by '111111';
-- 2、給用戶(hù)授權(quán)
GRANT 權(quán)限1, … , 權(quán)限n ON 數(shù)據(jù)庫(kù).對(duì)象 TO 用戶(hù)名;
-- 將test數(shù)據(jù)庫(kù)中所有對(duì)象(表、視圖、存儲(chǔ)過(guò)程,觸發(fā)器等)的create,alter,drop,insert,update,delete,select賦給testuser用戶(hù)
grant create,alter,drop,insert,update,delete,select on test.* to testuser@localhost;
-- 3、撤銷(xiāo)授權(quán)
REVOKE權(quán)限1, … , 權(quán)限n ON 數(shù)據(jù)庫(kù).對(duì)象 FORM 用戶(hù)名;
--將test數(shù)據(jù)庫(kù)中所有對(duì)象的create,alter,drop權(quán)限撤銷(xiāo)
revoke create,alter,drop on test.* from testuser@localhost;
-- 4、查看用戶(hù)權(quán)限
SHOW GRANTS FOR 用戶(hù)名;
-- 查看testuser的用戶(hù)權(quán)限
show grants for testuser@localhost;
-- 5、刪除用戶(hù)
DROP USER 用戶(hù)名;
-- 刪除testuser用戶(hù)
drop user testuser@localhost;
-- 6、修改用戶(hù)密碼
USE mysql;
UPDATE USER SET PASSWORD=PASSWORD(‘密碼’) WHERE User=’用戶(hù)名’ and Host=’IP’;
FLUSH PRIVILEGES;
--將testuser的密碼改為123456
update user set password=password('123456') where user='testuser' and host=’localhost’;
FLUSH PRIVILEGES;
到了這里,關(guān)于SQL語(yǔ)言:DDL、DML、DQL、DCL的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!