使用SQL語句概述-DDL-數(shù)據(jù)類型
1.什么是SQL
SQL(Structured Query Language)是“結(jié)構(gòu)化查詢語言”,它是對(duì)關(guān)系型數(shù)據(jù)庫的操作語言。
它可以應(yīng)用到所有關(guān)系型數(shù)據(jù)庫中,
例如:MySQL、Oracle、SQL Server等。
SQ標(biāo)準(zhǔn)(ANSI/ISO)有:
- SQL-92:1992年發(fā)布的SQL語言標(biāo)準(zhǔn);
- SQL:1999:1999年發(fā)布的SQL語言標(biāo)簽;
- SQL:2003:2003年發(fā)布的SQL語言標(biāo)簽;
這些標(biāo)準(zhǔn)就與JDK的版本一樣,在新的版本中總要有一些語法的變化。
不同時(shí)期的數(shù)據(jù)庫對(duì)不同標(biāo)準(zhǔn)做了實(shí)現(xiàn)。
雖然SQL可以用在所有關(guān)系型數(shù)據(jù)庫中,但很多數(shù)據(jù)庫還都有標(biāo)準(zhǔn)之后的一些語法,我們可以稱之為“方言”。
例如MySQL中的LIMIT語句就是MySQL獨(dú)有的方言,其它數(shù)據(jù)庫都不支持!
當(dāng)然,Oracle或SQL Server都有自己的方言。
2.語法要求
- SQL語句可以單行或多行書寫,以分號(hào)結(jié)尾;
- 可以用空格和縮進(jìn)來來增強(qiáng)語句的可讀性;
- 關(guān)鍵字不區(qū)別大小寫,建議使用大寫;
3.分類
- DDL(Data Definition Language):數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對(duì)象:庫、表、列等;
- DML(Data Manipulation Language):數(shù)據(jù)操作語言,用來定義數(shù)據(jù)庫記錄(數(shù)據(jù));
- DCL(Data Control Language):數(shù)據(jù)控制語言,用來定義訪問權(quán)限和安全級(jí)別;
- DQL(Data Query Language):數(shù)據(jù)查詢語言,用來查詢記錄(數(shù)據(jù))。
4.DDL
基本操作
- 查看所有數(shù)據(jù)庫名稱:SHOW DATABASES;
- 切換數(shù)據(jù)庫:USE mydb1,切換到mydb1數(shù)據(jù)庫;
操作數(shù)據(jù)庫
- 創(chuàng)建數(shù)據(jù)庫:CREATE DATABASE [IF NOT EXISTS] mydb1;
- 創(chuàng)建數(shù)據(jù)庫,例如:CREATE DATABASE mydb1,創(chuàng)建一個(gè)名為mydb1的數(shù)據(jù)庫。如果這個(gè)數(shù)據(jù)已經(jīng)存在,那么會(huì)報(bào)錯(cuò)。例如CREATE DATABASE IF NOT EXISTS mydb1,在名為mydb1的數(shù)據(jù)庫不存在時(shí)創(chuàng)建該庫,這樣可以避免報(bào)錯(cuò)。
- 刪除數(shù)據(jù)庫:DROP DATABASE [IF EXISTS] mydb1;
- 刪除數(shù)據(jù)庫,例如:DROP DATABASE mydb1,刪除名為mydb1的數(shù)據(jù)庫。如果這個(gè)數(shù)據(jù)庫不存在,那么會(huì)報(bào)錯(cuò)。DROP DATABASE IF EXISTS mydb1,就算mydb1不存在,也不會(huì)的報(bào)錯(cuò)。
- 修改數(shù)據(jù)庫編碼:ALTER DATABASE mydb1 CHARACTER SET utf8
- 修改數(shù)據(jù)庫mydb1的編碼為utf8。注意,在MySQL中所有的UTF-8編碼都不能使用中間的“-”,即UTF-8要書寫為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:泛型型,在表單錢方面使用該類型,因?yàn)椴粫?huì)出現(xià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-07