久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > SQL語句概念使用說明

SQL語句(ju)概念使(shi)用(yong)說明 時間(jian):2018-03-07   ;   來源:未知

1、SQL分類

SQL語句主要(yao)可(ke)以劃分以下3個類別。

1)DDL語句(ju):數(shu)(shu)據定(ding)(ding)義語句(ju),這些語句(ju)定(ding)(ding)義了不同的數(shu)(shu)據段(duan)、數(shu)(shu)據庫(ku)、表、列、索引等數(shu)(shu)據庫(ku)對象。常用的關鍵(jian)字主(zhu)要包括creat、drop、alter等。

2)DML語(yu)句:數據操縱語(yu)句,用(yong)于添加、刪(shan)除(chu)、更(geng)新和(he)查詢數據庫記(ji)錄,并檢查數據完整性(xing)。常(chang)用(yong)的(de)語(yu)句關鍵字(zi)主要包括 inster、delete、update 和(he) select等。

3)DCL語句(ju)(ju):數(shu)據(ju)控制語句(ju)(ju),用于控制不同數(shu)據(ju)段(duan)(duan)直接的許可和訪(fang)問(wen)級(ji)別(bie)的語句(ju)(ju)。這些語句(ju)(ju)定義(yi)了(le)數(shu)據(ju)庫(ku)、表、字(zi)段(duan)(duan)、用戶的訪(fang)問(wen)權限和安(an)全(quan)級(ji)別(bie)。主(zhu)要(yao)的語句(ju)(ju)關鍵字(zi)包括(kuo) grant、revoke等。

2、DDL語句

DDL是(shi)(shi)數(shu)據定(ding)義(yi)語(yu)句(ju)(ju)(ju)的(de)(de)(de)縮寫(xie)。是(shi)(shi)對數(shu)據庫內(nei)部的(de)(de)(de)對象進行創(chuang)建、刪除、修改等操作(zuo)的(de)(de)(de)語(yu)言。它和(he)DML語(yu)句(ju)(ju)(ju)的(de)(de)(de)大區別是(shi)(shi)DML只是(shi)(shi)對表(biao)內(nei)部數(shu)據操作(zuo),而(er)不涉及表(biao)的(de)(de)(de)定(ding)義(yi)、結構(gou)的(de)(de)(de)修改,更不會涉及其他(ta)對象。DDL語(yu)句(ju)(ju)(ju)更多地(di)由數(shu)據庫管(guan)理員(DBA)使用,開發人員一般(ban)很少(shao)使用。

1)創建數據庫

CREATE DATABASE dbname

例如,創(chuang)建數(shu)據庫test1,命令執行如下:

create database test1 ;

如果需要查(cha)詢系統中都存(cun)在哪些數據庫,可以使用以下命(ming)令查(cha)看:

show databases ;

在系統中會存在4個由MySQL系統自動創建的數據(ju)庫(ku),分別為(wei):

information_schema : 主(zhu)要存(cun)儲(chu)系統中(zhong)的一(yi)些(xie)數據庫(ku)對象信(xin)息(xi)(xi),比如(ru)用戶(hu)表信(xin)息(xi)(xi)、列信(xin)息(xi)(xi)、權限信(xin)息(xi)(xi)、字(zi)符集信(xin)息(xi)(xi)、分區(qu)信(xin)息(xi)(xi)等。

cluster : 存(cun)儲系統的集群信(xin)息。

mysql : 存儲系統的(de)用戶權限信息。

test : 系統(tong)自(zi)動創建的測試數(shu)據庫,任(ren)何用戶(hu)都可(ke)以使用。

選擇要操作的數據庫:

USE dbname

例如(ru),選擇數據庫test1 :

use test1 ;

查看test1數據庫中創建的所(suo)有數據表 :

show tables ;

2)刪除數據庫

刪除數據庫的語法(fa),如下:

drop database dbname ;

例如,要(yao)刪除test1數(shu)據庫:

drop database test1 ;

3)創建表

在數據庫中創建一張表的基本語法(fa)如下:

CREATE TABLE tablename (

column_name_1 column_type_1 constraints ,

column_name_2 column_type_2 constraints ,

. . .

column_name_n column_type_n constraints )

其中 , column_name 是列(lie)(lie)的名字;column_type 是列(lie)(lie)的數(shu)據類(lei)型(xing); constraints 是這個(ge)列(lie)(lie)的約(yue)束條(tiao)件。

例如,創(chuang)建一(yi)個(ge)名稱為(wei)emp的(de)表。表中包(bao)括ename(姓名)、hiredate(雇傭日(ri)期)和sal(薪水)三(san)個(ge)字段(duan),字段(duan)類型分別為(wei)varchar(10)、date、int(2)

create table emp ( ename varchar(10) ,

hiredate date ,

sal decimal (10, 2) ,

deptno int(2) ) ;

表(biao)創(chuang)建完畢后,如果需要(yao)查看一下表(biao)的定義,可以使用如下命令(ling):

DESC tablename

例如,查看emp表(biao):

desc emp ;

如(ru)果(guo)需要查看創建表的SQL語(yu)句(ju),可(ke)以(yi)使用如(ru)下命令:

show create table emp \G ;

注:\G 選項的含義是使得記錄能(neng)夠按照字段豎向排列,以便更好(hao)地顯示內容較長(chang)的記錄。

4)刪除表

表(biao)的刪除命令如下:

DROP TABLE tablename

例如,要刪(shan)除數據表emp:

drop table emp ;

5)修改表

修改(gai)表類型 ,語法如下:

ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST|AFTER col_name]

例如,修改表emp的ename字段定義,將(jiang) varchar(10)改為varchar(20):

alter tabke emp modify ename varchar(20);

增(zeng)加表字(zi)段,語法如(ru)下(xia):

ALTER TABLE tablename ADD[COLUMN] column_definition [FIRST|AFTER col_name]

例如,在表emp中新(xin)增加字段 age ,類型為 int(3):

alter table emp add column age int(3);

刪除表字段,語法如下:

ALTER TABLE tablename DROP [COLUMN] col_name

例如,將字(zi)段age刪除:

alter table emp drop column age ;

字段改名(ming),語法如下:

 ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]

例如,將age改(gai)名(ming)為(wei)(wei)age1,同時修改(gai)字段類型為(wei)(wei) int(4):

alter table emp change age age1 int(4) ;

修改字段排列順序:

前面介紹的(de)字(zi)段增(zeng)加和修改語句(ADD/CHANG/MODIFY)中,都(dou)有(you)一個可選項 first | after column_name ,這個選項可以用來修改字(zi)段在(zai)表中的(de)位置,ADD增(zeng)減的(de)新字(zi)段默認是加載表的(de)后位置,而CHANGE/MODIFY默認都(dou)不會改變字(zi)段的(de)位置。

例如, 將新增的(de)字段 birth date 加在 ename之后:

alter table emp add birth date after ename ;

修改 age 字段,將它放在前面:

alter table emp modify age int(3) first ;

注(zhu)意(yi):CHANGE/FIRST|AFTER COLUMN 都屬于MySQL在(zai)標準SQL上(shang)的擴展,在(zai)其他數據庫上(shang)不一定適用。

更改(gai)表名,語法如下:

ALTER TABLE tablename RENAME [TO] new_tablename

例如(ru),將表 emp 改名為 emp1:

alter table emp rename emp1 ;

3、DML語句

DML操(cao)作是指對數據庫中表記錄的操(cao)作,主(zhu)要(yao)包(bao)括表記錄的插入(insert)、更新(xin)(update)、刪除(delete)和查(cha)詢(select),是開(kai)發人員日常使用多的操(cao)作。

1)插入(ru)記錄

向表(biao)中(zhong)插入(ru)記錄的基本語法如下:

INSERT INTO tablename (field1 , field2 ,. . . ,fieldn) VALUES(value1 , value2 , . . . ,valuen);

例(li)如,向表 emp 中(zhong)插入記錄:

insert into emp (ename, hiredate, sal, deptno) values ('zzx1', '2000-01-01', '2000', 1);

也(ye)可以不指定(ding)字段名稱,但是 values 后面的順(shun)序(xu)應該和字段的排列(lie)順(shun)序(xu)一致:

insert into emp values('lisa', '2001-01-02', '3000', 2);

含可空(kong)(kong)字(zi)(zi)段、非空(kong)(kong)但是(shi)含有默(mo)認值的(de)字(zi)(zi)段、自(zi)(zi)增(zeng)字(zi)(zi)段,可以(yi)不(bu)用再insert后的(de)字(zi)(zi)段列表中(zhong)出現,values后面只寫(xie)(xie)對應字(zi)(zi)段名(ming)稱的(de) value 。這些沒寫(xie)(xie)的(de)字(zi)(zi)段可以(yi)自(zi)(zi)動設(she)置為NULL、默(mo)認值、自(zi)(zi)增(zeng)的(de)下一(yi)個數字(zi)(zi)。

例如:只對(dui)表中的ename和sal顯(xian)示插(cha)入(ru)值:

insert into emp (ename, sal) values('dony', '1000') ;

在MySQL中,insert語句可以一次性插(cha)入多(duo)條記(ji)錄。

2)更新記錄

表里的記錄(lu)值可以通(tong)過update命令進行更(geng)改,語(yu)法如下(xia):

UPDATE tablename SET field1 = value1,field2 = value2,. . .,fieldn = valuen [WHERE CONDITION]

例如,將(jiang)表(biao)emp中ename為(wei) "lisa"的sal從3000更改(gai)為(wei)4000:

update emp set sal=4000 whereename='lisa' ;

3) 刪除記錄

使用delete刪除(chu)記錄,語法如下:

DELETE FROM tablename [WHERE CONDITION]

例如,在emp中將ename為dony的(de)記(ji)錄全(quan)部刪除:

delete from emp where ename='dony' ;

注意:不加where條件(jian)將(jiang)會把表的(de)所有(you)記(ji)錄刪除(chu),所以(yi)操作時一(yi)定小心(xin)。

4)查詢記錄

基本語法如(ru)下(xia):

SELECT * FROM tablename [WHERE CONDITION]

例如(ru),將表emp中的記錄全部查(cha)詢出來:

select * form emp ;

上一篇:網絡編程好學嗎

下一篇:Android init.rc解析

熱點(dian)文章推薦
華清(qing)學員就業榜(bang)單(dan)
高薪學員經驗分享
熱點新聞推薦
前臺專線(xian):010-82525158 企業(ye)培(pei)訓洽談專線:010-82525379 院校(xiao)合作洽(qia)談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部