自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL語(yǔ)言:DDL、DML、DQL、DCL詳解

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
本文對(duì)SQL程序語(yǔ)言有四種操作語(yǔ)言做了一個(gè)簡(jiǎn)單的介紹和概括,對(duì)數(shù)據(jù)庫(kù)的基本操作都屬于這四類,它們分別為;數(shù)據(jù)定義語(yǔ)言(DDL)、數(shù)據(jù)查詢語(yǔ)言(DQL)、數(shù)據(jù)操縱語(yǔ)言(DML)、數(shù)據(jù)控制語(yǔ)言(DCL) 。

前言

SQL程序語(yǔ)言有四種類型,對(duì)數(shù)據(jù)庫(kù)的基本操作都屬于這四類,它們分別為;數(shù)據(jù)定義語(yǔ)言(DDL)、數(shù)據(jù)查詢語(yǔ)言(DQL)、數(shù)據(jù)操縱語(yǔ)言(DML)、數(shù)據(jù)控制語(yǔ)言(DCL)

數(shù)據(jù)定義語(yǔ)言(DDL)

DDL全稱是Data Definition Language,即數(shù)據(jù)定義語(yǔ)言,定義語(yǔ)言就是定義關(guān)系模式、刪除關(guān)系、修改關(guān)系模式以及創(chuàng)建數(shù)據(jù)庫(kù)中的各種對(duì)象,比如表、聚簇、索引、視圖、函數(shù)、存儲(chǔ)過程和觸發(fā)器等等。

數(shù)據(jù)定義語(yǔ)言是由SQL語(yǔ)言集中負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言,并且由CREATE、ALTER、DROP和TRUNCATE四個(gè)語(yǔ)法組成。比如:

--創(chuàng)建一個(gè)student表
create table student(
id int identity(1,1) not null,
name varchar(20) null,
course varchar(20) null,
grade numeric null
)
  --student表增加一個(gè)年齡字段
alter table student add age int NULL
 --student表刪除年齡字段,刪除的字段前面需要加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),student表還在只是數(shù)據(jù)為空

數(shù)據(jù)操縱語(yǔ)言(DML)

數(shù)據(jù)操縱語(yǔ)言全程是Data Manipulation Language,主要是進(jìn)行插入元組、刪除元組、修改元組的操作。主要有insert、update、delete語(yǔ)法組成。

 --向student表中插入數(shù)據(jù)
--數(shù)據(jù)庫(kù)插入數(shù)據(jù) 一次性插入多行多列 格式為INSERT INTO table (字段1, 字段2,字段3) VALUES (值1,值2,值3),(值1,值2,值3),...;
INSERT INTO student (name, course,grade) VALUES ('張飛','語(yǔ)文',90),('劉備','數(shù)學(xué)',70),('關(guān)羽','歷史',25),('張?jiān)?,'英語(yǔ)',13);
 --更新關(guān)羽的成績(jī)
update student set grade='18' where name='關(guān)羽'
    --關(guān)羽因?yàn)闅v史成績(jī)太低,要退學(xué),所以刪除關(guān)羽這個(gè)學(xué)生
delete from student where name='關(guān)羽'

數(shù)據(jù)查詢語(yǔ)言(DQL)

數(shù)據(jù)查詢語(yǔ)言全稱是Data Query Language,所以是用來進(jìn)行數(shù)據(jù)庫(kù)中數(shù)據(jù)的查詢的,即最常用的select語(yǔ)句。

 --從student表中查詢所有的數(shù)據(jù)
select * from student
    --從student表中查詢姓名為張飛的學(xué)生
select * from student where name='張飛'

數(shù)據(jù)控制語(yǔ)言(DCL)

數(shù)據(jù)控制語(yǔ)言:Data Control Language。用來授權(quán)或回收訪問數(shù)據(jù)庫(kù)的某種特權(quán),并控制數(shù)據(jù)庫(kù)操縱事務(wù)發(fā)生的時(shí)間及效果,能夠?qū)?shù)據(jù)庫(kù)進(jìn)行監(jiān)視。

比如常見的授權(quán)、取消授權(quán)、回滾、提交等等操作。

1、創(chuàng)建用戶

語(yǔ)法結(jié)構(gòu):

CREATE USER 用戶名@地址 IDENTIFIED BY '密碼';
--創(chuàng)建一個(gè)testuser用戶,密碼111111
create user testuser@localhost identified by '111111';

2、給用戶授權(quán)

語(yǔ)法結(jié)構(gòu):

 GRANT 權(quán)限1,, 權(quán)限n ON 數(shù)據(jù)庫(kù).對(duì)象  TO 用戶名;
--將test數(shù)據(jù)庫(kù)中所有對(duì)象(表、視圖、存儲(chǔ)過程,觸發(fā)器等。*表示所有對(duì)象)的create,alter,drop,insert,update,delete,select賦給testuser用戶
grant create,alter,drop,insert,update,delete,select on test.* to testuser@localhost;

3、撤銷授權(quán)

語(yǔ)法結(jié)構(gòu):

REVOKE權(quán)限1,, 權(quán)限n ON 數(shù)據(jù)庫(kù).對(duì)象 FORM 用戶名;
--將test數(shù)據(jù)庫(kù)中所有對(duì)象的create,alter,drop權(quán)限撤銷
revoke create,alter,drop on test.* to testuser@localhost;

4、查看用戶權(quán)限

語(yǔ)法結(jié)構(gòu):

 SHOW GRANTS FOR 用戶名;
--查看testuser的用戶權(quán)限
show grants for testuser@localhost;

5、刪除用戶

語(yǔ)法結(jié)構(gòu):

DROP USER 用戶名;
--刪除testuser用戶
drop user testuser@localhost;

6、修改用戶密碼

語(yǔ)法結(jié)構(gòu):

USE mysql;
UPDATE USER SET PASSWORD=PASSWORD(‘密碼’) WHERE User=’用戶名’ and Host=’IP’;
FLUSH PRIVILEGES;
--將testuser的密碼改為123456
update user set password=password('123456') where user='testuser' and host=’localhost’;
FLUSH PRIVILEGES;

結(jié)尾

本文對(duì)SQL程序語(yǔ)言有四種操作語(yǔ)言做了一個(gè)簡(jiǎn)單的介紹和概括,對(duì)數(shù)據(jù)庫(kù)的基本操作都屬于這四類,它們分別為;數(shù)據(jù)定義語(yǔ)言(DDL)、數(shù)據(jù)查詢語(yǔ)言(DQL)、數(shù)據(jù)操縱語(yǔ)言(DML)、數(shù)據(jù)控制語(yǔ)言(DCL) 。

責(zé)任編輯:姜華 來源: 1024筆記
相關(guān)推薦

2024-01-30 09:31:53

SQL語(yǔ)言數(shù)據(jù)庫(kù)

2009-11-17 09:47:54

Oracle SQL語(yǔ)

2023-08-10 08:01:21

2023-08-14 08:32:42

MySQL數(shù)據(jù)庫(kù)

2010-04-19 10:43:27

SQL Server

2011-08-09 16:15:23

OracleDDL語(yǔ)句DML語(yǔ)句

2011-06-21 15:31:04

Qt 數(shù)據(jù)庫(kù) SQL

2022-05-22 10:02:32

CREATESQL 查詢SQL DDL

2022-05-27 09:02:58

SQLHive語(yǔ)義

2023-06-05 07:24:46

SQL治理防御體系

2011-09-01 10:33:38

數(shù)據(jù)控制語(yǔ)言DCL語(yǔ)句操作權(quán)限

2011-09-02 14:09:47

OracleDML命令

2017-08-10 10:23:59

2022-03-28 13:13:58

分布列CitusPostgreSQ

2009-09-18 14:51:19

LINQ TO SQL

2010-09-17 16:17:13

SQL內(nèi)連接

2011-09-01 17:35:56

SQL Server DDL語(yǔ)句

2023-12-08 14:32:02

C語(yǔ)言編程文件操作

2019-09-18 08:19:42

DDLMySQL數(shù)據(jù)庫(kù)

2010-08-05 09:07:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)