什么是SQL摩梧?
Structured Quary Language:結(jié)構(gòu)化查詢語言
定義了操作所有關(guān)系型數(shù)據(jù)庫的規(guī)則
SQL語句
- 語法
①SQL語句可以單行和多行書寫,以分號(hào)結(jié)尾;
②可以是空格和TAB增強(qiáng)語句的可讀性;
③MySQL數(shù)據(jù)庫的SQL語句不區(qū)分大小寫,但是建議關(guān)鍵字用大寫奠旺;
④注釋:?jiǎn)涡凶⑨專?- 注釋內(nèi)容和#注釋內(nèi)容)注意--后面跟一個(gè)空格;多行注釋/**/ - 分類
①DDL(DATA Definition Language)數(shù)據(jù)定義語言施流;用來定義數(shù)據(jù)庫對(duì)象:數(shù)據(jù)庫响疚,表,列(create瞪醋,drop忿晕,alter)
②DML(DATA Manipulation Language)數(shù)據(jù)操作語言;用來對(duì)數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行增刪改(insert银受,delete践盼,update)
③DQL(DATA Quary Language)數(shù)據(jù)查詢語言;用來查詢數(shù)據(jù)庫表中的數(shù)據(jù)(select蚓土,where)
④DCL(Data Control Language)數(shù)據(jù)控制語言宏侍;用來定義數(shù)據(jù)庫的訪問權(quán)限和安全級(jí)別(GRANT,REVOKE)
DDL操作數(shù)據(jù)庫對(duì)象
- 操作數(shù)據(jù)庫(CRUD)
- C(create):創(chuàng)建
CREATE DATABASE 數(shù)據(jù)庫名蜀漆;創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE if not exists 數(shù)據(jù)庫名;創(chuàng)建不存在的數(shù)據(jù)
CREATE DATABASE 數(shù)據(jù)庫名 charset gbk咱旱;創(chuàng)建數(shù)據(jù)庫并指定字符集 - R(retrieve):查詢
SHOW DATABASES;查看所有的數(shù)據(jù)庫
SHOW CREATE DATABASE 數(shù)據(jù)庫名稱;查看創(chuàng)建數(shù)據(jù)庫的語句 - U(updata):修改
alter database 數(shù)據(jù)庫名 charset gbk确丢;修改數(shù)據(jù)庫的字符集 - D(delete):刪除
drop database 數(shù)據(jù)庫名绷耍;刪除數(shù)據(jù)庫
drop database if exists 數(shù)據(jù)庫名;數(shù)據(jù)庫存在再刪除 - 使用數(shù)據(jù)庫
select database()鲜侥;查詢當(dāng)前正在使用的數(shù)據(jù)庫
use 數(shù)據(jù)庫名褂始;
- 操作表(CRUD)
- C(create):創(chuàng)建
create table 表名(
列名 數(shù)據(jù)類型,
...
列名 數(shù)據(jù)類型
);
create table stu like 表名描函;復(fù)制表的結(jié)構(gòu)
數(shù)據(jù)類型:
int:整數(shù)類型(age int)
double:小數(shù)類型(scroe double(5,2))
date:日期只包含年月日yyyy-MM-dd
datetime:日期包含年月日時(shí)分秒yyyy-MM-dd HH:mm:ss
timestamp:時(shí)間戳類型包含年月日時(shí)分秒yyyy-MM-dd HH:mm:ss崎苗,如果將來不給這個(gè)字段賦值,或者賦值為null舀寓,則默認(rèn)使用當(dāng)前系統(tǒng)時(shí)間自動(dòng)賦值
varchar:字符串類型(name varchar(20))
- R(retrieve):查詢
show tables胆数;查詢數(shù)據(jù)庫中所有表名稱
desc 表名;查詢表結(jié)構(gòu) - U(updata):修改
①修改表名
alter table 表名 rename to 新的表名
②修改表的字符集
show create table 表名互墓;查看表的創(chuàng)建語句
alter table 表名 charset gbk必尼;
③添加一列
alter table 表名 add 列名 數(shù)據(jù)類型
④修改列的名稱類型
alter table 表名 change 原有列名 列名 數(shù)據(jù)類型;
alter table 表名 modify 原有列名 列名篡撵;
⑤刪除列
alter table 表名 drop 列名 - D(delete):刪除
drop table 表名判莉;
drop table if exists 表名;