中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL結構化查詢語言有哪些

發布時間:2021-12-22 15:18:21 來源:億速云 閱讀:461 作者:iii 欄目:編程語言

這篇文章主要介紹“MySQL結構化查詢語言有哪些”,在日常操作中,相信很多人在MySQL結構化查詢語言有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL結構化查詢語言有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

  

SQL的概述

Structured Query Language 結構化查詢語言,是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。

各種主流的數據庫系統都對SQL規范作了某些編改和擴充。所以,實際上不同數據庫系統之間的SQL不能完全相互通用,但大部分是相同的,后面我們學習的是MySQL的版本,掌握SQL主要語法之后,要遷移到其它數據庫也是比較容易的。

結構化查詢語言包含6個部分:

一:數據查詢語言(DQL:Data Query Language):

其語句,也稱為“數據檢索語句”,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。

二:數據操作語言(DML:Data Manipulation Language):

其語句包括動詞INSERT,UPDATE和DELETE。它們分別用于添加,修改和刪除表中的行。也稱為動作查詢語言。

三:事務處理語言(TPL):

它的語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:數據控制語言(DCL):

它的語句通過GRANT或REVOKE獲得許可,確定單個用戶和用戶組對數據庫對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個列的訪問。

五:數據定義語言(DDL):

其語句包括動詞CREATE和DROP。在數據庫中創建新表或刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引等。DDL包括許多與人數據庫目錄中獲得數據有關的保留字。它也是動作查詢的一部分。

六:指針控制語言(CCL):

它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作。

本章我們主要介紹的是DDL和DML。

MySQL數據庫的操作

創建數據庫的基本語法是:

create database 數據庫名;

還可以給數據庫指定默認的字符集以及排序規則:

create database 數據庫名

default character set 字符集 collate 排序規則;

選擇數據庫

use 數據庫名;

修改數據庫的字符集和排序規則:

alter database 數據庫名

default character set  字符集 collate 排序規則;

刪除數據庫:

drop database 數據庫名;

刪除時檢查數據庫是否存在:

drop database if exists 數據庫名;

代碼示例:

1.-- 刪除數據庫

2.drop database if exists java1903;

3.-- 創建數據庫

4.create database java1903

5.default character set utf8mb4

6.collate utf8mb4_general_ci;

7.-- 使用數據庫

8.use java1903;

MySQL常見的數據類型

創建好數據庫后,我們就需要建表,建表我們需要設置字段的數據類型,我們先來了解MySQL中常見的數據類型。

類型名稱

說明

存儲需求

TINYINT

很小的整數

1個字節

SMALLINT

小的整數

2個宇節

MEDIUMINT

中等大小的整數

3個字節

INT (INTEGHR)

普通大小的整數

4個字節

BIGINT

大整數

8個字節

2)小數類型

類型名稱

說明

存儲需求

FLOAT

單精度浮點數

4 個字節

DOUBLE

雙精度浮點數

8 個字節

DECIMAL (M, D),DEC

壓縮的“嚴格”定點數

M+2 個字節

3) 日期/時間類型

類型名稱

日期格式

日期范圍

存儲需求

YEAR

YYYY

1901 ~ 2155

1 個字節

TIME

HH:MM:SS

-838:59:59 ~ 838:59:59

3 個字節

DATE

YYYY-MM-DD

1000-01-01 ~ 9999-12-3

3 個字節

DATETIME

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

8 個字節

TIMESTAMP

YYYY-MM-DD HH:MM:SS

1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC

4 個字節

3) 字符串類型

類型名稱

說明

存儲需求

CHAR(M)

固定長度非二進制字符串

M 字節,1<=M<=255

VARCHAR(M)

變長非二進制字符串

L+1字節,在此,L< = M和 1<=M<=255

TINYTEXT

非常小的非二進制字符串

L+1字節,在此,L<2^8

TEXT

小的非二進制字符串

L+2字節,在此,L<2^16

MEDIUMTEXT

中等大小的非二進制字符串

L+3字節,在此,L<2^24

LONGTEXT

大的非二進制字符串

L+4字節,在此,L<2^32

ENUM

枚舉類型,只能有一個枚舉字符串值

1或2個字節,取決于枚舉值的數目 (最大值為65535)

SET

一個設置,字符串對象可以有零個或 多個SET成員

1、2、3、4或8個字節,取決于集合 成員的數量(最多64個成員)

4) 二進制類型

類型名稱

說明

存儲需求

BIT(M)

位字段類型

大約 (M+7)/8 字節

BINARY(M)

固定長度二進制字符串

M 字節

VARBINARY (M)

可變長度二進制字符串

M+1 字節

TINYBLOB (M)

非常小的BLOB

L+1 字節,在此,L<2^8

BLOB (M)

小 BLOB

L+2 字節,在此,L<2^16

MEDIUMBLOB (M)

中等大小的BLOB

L+3 字節,在此,L<2^24

LONGBLOB (M)

非常大的BLOB

L+4 字節,在此,L<2^32

表的操作

創建表:

create table 表名

(

字段名 數據類型 [約束],

字段名 數據類型 [約束],

....

)

主要的約束類型有:

primary key                主鍵,表中只能有一個,不能重復,不能為空

not null                  非空,必須填寫

unique                        唯一,不能重復

auto_increment        自動增長,必須是整數類型,不需要手動插入

foreign key                外鍵,建立表之間的引用關系

刪除表:

drop table 表名;

刪除表時進行檢查:

drop table if exists 表名;

修改表,添加字段:

alter table 表名 add column 字段名 數據類型;

修改表,刪除字段:

alter table 表名 drop column 字段名;

查看表結構:

desc 表名;

代碼示例:

9.-- 刪除表

10.drop table if exists tb_student;

11.-- 創建學生表

12.create table tb_student

13.(

14.        stu_id int primary key auto_increment,

15.        stu_name varchar(20) not null,

16.        stu_age int not null,

17.        stu_gender varchar(1) not null,

18.        stu_address varchar(200)

19.);

數據操作語言DML

數據操作語言有插入、刪除和更新語句組成。

單行插入:

insert into 表名(字段名,字段名,字段名..) values(值,值,值..);

多行插入

insert into 表名(字段名,字段名,字段名..)

values(值,值,值..),(值,值,值..),(值,值,值..);

將一張表數據插入另一張表

insert into 表1(字段名,字段名,字段名..)

select 字段名,字段名,字段名 from 表2;

刪除所有數據

delete from 表名;

清空表

truncate table 表名;

帶條件的刪除

delete from 表名 [where 條件];

更新

update 表名 set 字段 = 值,字段 = 值... [where 條件];

代碼示例:

20.-- 插入一行學生記錄

21.insert into tb_student(stu_name,stu_age,stu_gender,stu_address)

22.values('趙六',30,'男','上海');

23.-- 插入多行學生

24.insert into tb_student(stu_name,stu_age,stu_gender,stu_address)

25.values('陳七',20,'男','武漢'),('陳大七',28,'男','上海'),('陳小七',18,'男','北京');

26.-- 刪除學號為3的學生

27.delete from tb_student where stu_id = 3;

28.-- 全部刪除

29.delete from tb_student;

30.-- 清空表

31.truncate table tb_student;

32.-- 更新陳七的年齡為23,性別為女

33.update tb_student set stu_age = 23,stu_gender = '女'

34.where stu_name = '陳七';

到此,關于“MySQL結構化查詢語言有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

车致| 新乐市| 青阳县| 威信县| 金川县| 马尔康县| 台州市| 渭南市| 孝昌县| 曲沃县| 翁源县| 宁城县| 达州市| 达日县| 长兴县| 天门市| 长顺县| 汉阴县| 都安| 西贡区| 同心县| 漳浦县| 阜南县| 紫云| 牟定县| 兴山县| 茌平县| 广饶县| 依安县| 喀喇| 郧西县| 鄂托克旗| 吉木萨尔县| 鱼台县| 怀集县| 涿州市| 正安县| 霍林郭勒市| 营山县| 中阳县| 浮梁县|