使用SQL語(yǔ)句概述-DDL-數(shù)據(jù)類型
1.什么是SQL
SQL(Structured Query Language)是“結(jié)構(gòu)化查詢語(yǔ)言”,它是對(duì)關(guān)系型數(shù)據(jù)庫(kù)的操作語(yǔ)言。
它可以應(yīng)用到所有關(guān)系型數(shù)據(jù)庫(kù)中,
例如:MySQL、Oracle、SQL Server等。
SQ標(biāo)準(zhǔn)(ANSI/ISO)有:
- SQL-92:1992年發(fā)布的SQL語(yǔ)言標(biāo)準(zhǔn);
- SQL:1999:1999年發(fā)布的SQL語(yǔ)言標(biāo)簽;
- SQL:2003:2003年發(fā)布的SQL語(yǔ)言標(biāo)簽;
這些標(biāo)準(zhǔn)就與JDK的版本一樣,在新的版本中總要有一些語(yǔ)法的變化。
不同時(shí)期的數(shù)據(jù)庫(kù)對(duì)不同標(biāo)準(zhǔn)做了實(shí)現(xiàn)。
雖然SQL可以用在所有關(guān)系型數(shù)據(jù)庫(kù)中,但很多數(shù)據(jù)庫(kù)還都有標(biāo)準(zhǔn)之后的一些語(yǔ)法,我們可以稱之為“方言”。
例如MySQL中的LIMIT語(yǔ)句就是MySQL獨(dú)有的方言,其它數(shù)據(jù)庫(kù)都不支持!
當(dāng)然,Oracle或SQL Server都有自己的方言。
2.語(yǔ)法要求
- SQL語(yǔ)句可以單行或多行書(shū)寫(xiě),以分號(hào)結(jié)尾;
- 可以用空格和縮進(jìn)來(lái)來(lái)增強(qiáng)語(yǔ)句的可讀性;
- 關(guān)鍵字不區(qū)別大小寫(xiě),建議使用大寫(xiě);
3.分類
- DDL(Data Definition Language):數(shù)據(jù)定義語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)對(duì)象:庫(kù)、表、列等;
- DML(Data Manipulation Language):數(shù)據(jù)操作語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)記錄(數(shù)據(jù));
- DCL(Data Control Language):數(shù)據(jù)控制語(yǔ)言,用來(lái)定義訪問(wèn)權(quán)限和安全級(jí)別;
- DQL(Data Query Language):數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢記錄(數(shù)據(jù))。
4.DDL
基本操作
- 查看所有數(shù)據(jù)庫(kù)名稱:SHOW DATABASES;
- 切換數(shù)據(jù)庫(kù):USE mydb1,切換到mydb1數(shù)據(jù)庫(kù);
操作數(shù)據(jù)庫(kù)
- 創(chuàng)建數(shù)據(jù)庫(kù):CREATE DATABASE [IF NOT EXISTS] mydb1;
- 創(chuàng)建數(shù)據(jù)庫(kù),例如:CREATE DATABASE mydb1,創(chuàng)建一個(gè)名為mydb1的數(shù)據(jù)庫(kù)。如果這個(gè)數(shù)據(jù)已經(jīng)存在,那么會(huì)報(bào)錯(cuò)。例如CREATE DATABASE IF NOT EXISTS mydb1,在名為mydb1的數(shù)據(jù)庫(kù)不存在時(shí)創(chuàng)建該庫(kù),這樣可以避免報(bào)錯(cuò)。
- 刪除數(shù)據(jù)庫(kù):DROP DATABASE [IF EXISTS] mydb1;
- 刪除數(shù)據(jù)庫(kù),例如:DROP DATABASE mydb1,刪除名為mydb1的數(shù)據(jù)庫(kù)。如果這個(gè)數(shù)據(jù)庫(kù)不存在,那么會(huì)報(bào)錯(cuò)。DROP DATABASE IF EXISTS mydb1,就算mydb1不存在,也不會(huì)的報(bào)錯(cuò)。
- 修改數(shù)據(jù)庫(kù)編碼:ALTER DATABASE mydb1 CHARACTER SET utf8
- 修改數(shù)據(jù)庫(kù)mydb1的編碼為utf8。注意,在MySQL中所有的UTF-8編碼都不能使用中間的“-”,即UTF-8要書(shū)寫(xiě)為UTF8。
查看mysql的編碼:show variables
like
'character_set_database'
5.數(shù)據(jù)類型
MySQL與Java一樣,也有數(shù)據(jù)類型。MySQL中數(shù)據(jù)類型主要應(yīng)用在列上。
常用類型:
- int:整型 如果字段是int類型 那么不需要指定長(zhǎng)度 如果是自增的字段一定要是int類型
- double:浮點(diǎn)型,例如double(5,2)表示最多5位,其中必須有2位小數(shù),即最大值為999.99;
- decimal:泛型型,在表單錢(qián)方面使用該類型,因?yàn)椴粫?huì)出現(xiàn)精度缺失問(wèn)題;decimal(5,2)
- char:固定長(zhǎng)度字符串類型; char(10)
- varchar:可變長(zhǎng)度字符串類型; varchar(10)
- text:字符串類型;String
- blob:字節(jié)類型;
- date:日期類型,格式為:yyyy-MM-dd;
- time:時(shí)間類型,格式為:hh:mm:ss
- timestamp:時(shí)間戳類型;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
windows下修改Mysql5.7.11初始密碼的圖文教程
這篇文章主要介紹了windows下修改Mysql5.7.11初始密碼的圖文教程,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11MySQL5.1主從同步出現(xiàn)Relay log read failure錯(cuò)誤解決方法
這篇文章主要介紹了MySQL5.1主從同步出現(xiàn)Relay log read failure錯(cuò)誤解決方法,需要的朋友可以參考下2014-07-07Mysql的庫(kù)函數(shù)整理大全(非常詳細(xì)!)
MySQL數(shù)據(jù)庫(kù)中提供了很豐富的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Mysql庫(kù)函數(shù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-04-04Window Docker 安裝MySQL8.0的過(guò)程詳解
本文給大家介紹在Windows環(huán)境下安裝Docker并配置MySQL容器的全流程介紹,過(guò)程中還涉及到文件映射和客戶端連接MySQL的操作,感興趣的朋友跟隨小編一起看看吧2024-11-11