一伏社、什么是SQL每辟?
- SQL:Structure Query Language(結(jié)構(gòu)化差U型你語(yǔ)言)。通過(guò)SQL操作數(shù)據(jù)(包括操作數(shù)據(jù)庫(kù)包斑,操作表流礁,操作數(shù)據(jù))
- SQL被美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)確定為關(guān)系型數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn),后來(lái)又被國(guó)際化標(biāo)準(zhǔn)組織(ISO)采納為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的國(guó)際標(biāo)準(zhǔn)舰始。
- 各個(gè)數(shù)據(jù)庫(kù)廠商都支持ISO的SQL標(biāo)準(zhǔn)崇棠。并在標(biāo)準(zhǔn)的基礎(chǔ)上做了自己的擴(kuò)展。
二丸卷、SQL的分類
- Data Definition Language(DDL數(shù)據(jù)定義語(yǔ)言)如:操作數(shù)據(jù)庫(kù)枕稀,操作表
- Data Manipulation Language(DML數(shù)據(jù)操縱語(yǔ)言)如:對(duì)表中的記錄操作增刪改查
- Data Control Language(DCL數(shù)據(jù)控制語(yǔ)言)如:對(duì)用戶權(quán)限的設(shè)置
三、MySQL的語(yǔ)法規(guī)范與要求
- MySQL的SQL語(yǔ)法不區(qū)分大小寫,MySQL的關(guān)鍵字和函數(shù)名等不區(qū)分大小寫萎坷,但是對(duì)于數(shù)據(jù)值是否區(qū)分大小寫和字符集與校對(duì)規(guī)則有關(guān)凹联。
- 命名時(shí)使用英文字母,數(shù)字及下劃線
- 不要使用MySQL的關(guān)鍵字來(lái)作為表名哆档、字段名等蔽挠,如果不小心使用,請(qǐng)?jiān)赟QL語(yǔ)句中使用`引起來(lái)
- 數(shù)據(jù)庫(kù)和表名瓜浸、字段名等對(duì)象名中間不要包含空格
- 同一個(gè)MySQL軟件中澳淑,數(shù)據(jù)庫(kù)不能同名,同一個(gè)庫(kù)中插佛,表不能重名杠巡;同一個(gè)表中,字段不能重名雇寇。
- 標(biāo)點(diǎn)符號(hào)必須成對(duì)氢拥;必須在英文狀態(tài)下半角輸入方式;字符串和日期類型可以使用單引號(hào)''锨侯;列名的別名可以使用雙引號(hào)""嫩海,給表名取別名不要使用雙引號(hào),取別名時(shí)as可以省略囚痴;如果列的別名沒(méi)有包含空格叁怪,可以省略雙引號(hào),如果有空格雙引號(hào)不能省略渡讼。
- SQL腳本中可以添加注釋:?jiǎn)涡凶⑨專?注釋內(nèi)容途凫;--空格注釋內(nèi)容其做,其中--后面的空格必須有治筒。多行注釋:/* 注釋內(nèi)容 */
四腹殿、DDL操作數(shù)據(jù)庫(kù)
4.1 創(chuàng)建數(shù)據(jù)庫(kù)
- 語(yǔ)法
create database 數(shù)據(jù)庫(kù)名 [character set 字符集] [collate 校對(duì)規(guī)則]
[]意思是可選參數(shù)的意思。字符集:是一套符號(hào)和編碼蹬昌。
-- 創(chuàng)建一個(gè)名字為day01的數(shù)據(jù)庫(kù)混驰,使用默認(rèn)的字符集和校對(duì)規(guī)則
CREATE DATABASE day01;
-- 創(chuàng)建一個(gè)名字為day01_2的數(shù)據(jù)庫(kù),并且使用字符集gbk
CREATE DATABASE day01_2 CHARACTER SET gbk;
-- 也可以使用可視化工具直接創(chuàng)建數(shù)據(jù)庫(kù)
4.2 查看所有的數(shù)據(jù)庫(kù)
4.2.1 查看所有的數(shù)據(jù)庫(kù)
-- 3.查詢整個(gè)MYSQL服務(wù)器中的所有數(shù)據(jù)庫(kù)
SHOW DATABASES;
4.2.2 查看數(shù)據(jù)庫(kù)的定義結(jié)構(gòu)
- 語(yǔ)法
show create database 數(shù)據(jù)庫(kù)名;
-- 4.查看某個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)
SHOW CREATE DATABASE day01_2;
4.3 刪除數(shù)據(jù)庫(kù)
- 語(yǔ)法
drop database 數(shù)據(jù)庫(kù)名;
-- 2.刪除數(shù)據(jù)庫(kù)
DROP DATABASE day01_3;
4.4 修改數(shù)據(jù)庫(kù)
- 語(yǔ)法
alter database 數(shù)據(jù)庫(kù)名 character set 字符集;
-- 5.修改某個(gè)數(shù)據(jù)庫(kù)的字符集
ALTER DATABASE day01 CHARACTER SET UTF8;
注意:
- 是UTF8皂贩,不是UTF-8
- 不是修改數(shù)據(jù)庫(kù)名
4.5 其他操作
- 切換數(shù)據(jù)庫(kù)栖榨,選定哪一個(gè)數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名;
在創(chuàng)建表之前一定要指定數(shù)據(jù)庫(kù)。
-- 6.指定使用那個(gè)數(shù)據(jù)庫(kù)
-- 因?yàn)橐院笠ū砻魉ⅰ⒉僮鞅碛ぴ裕枰戎付ㄊ遣僮髂膫€(gè)數(shù)據(jù)庫(kù)中的表
USE day01;
-- 7.查看當(dāng)前正在使用哪個(gè)數(shù)據(jù)庫(kù)
SELECT DATABASE();