SQL(Structred Query Language)結構化查詢語言:和資料庫交互的語言,進行資料庫管理的語言。 一、資料庫的操作: 1、查詢所有資料庫: show databases; 2、創建資料庫: create database 資料庫名 [default] character set ...
SQL(Structred Query Language)結構化查詢語言:和資料庫交互的語言,進行資料庫管理的語言。
一、資料庫的操作:
1、查詢所有資料庫:
show databases;
2、創建資料庫:
create database 資料庫名 [default] character set 字元集編碼(一般為utf8);
3、查看資料庫創建語句:
show create database 資料庫名;
4、刪除資料庫:
drop database 資料庫名;
5、修改資料庫(修改字元編碼):
alter database 資料庫名 default character set 新的字元集編碼;
二、資料庫中表的管理操作:(先選擇資料庫:use 資料庫名)
1、查看所有表:
show tables;
2、創建表:
create table 表名(列名 列類型,列名 列類型,.....);
3、查看表結構:
desc 表名;
4、刪除表:
drop table 表名;
5、修改表:
①、添加欄位:
alter table 表名 add column 欄位名 欄位類型;
②、刪除欄位:
alter table 表名 drop column 欄位名;
③、修改欄位名稱:
alter table 表名 change column 舊欄位名 新欄位名 欄位類型;
④、修改欄位類型:
alter table 表名 modify column 欄位名 欄位類型;
⑤、修改表名稱:
alter table 舊表名 rename to 新表名;
三、表中數據的操作:
1、增加數據(依次):
insert into 表名 values (數據,......);
插入部分數據:
insert into 表名(欄位名1,欄位名2)values (數據1,數據2);
2、修改數據:
update 表名 set 欄位名= 值,欄位名=值 where 條件
3、刪除數據:
delete from 表名 where 條件;
全表刪除方式:
①、delete from 表名;(只刪除數據,不能刪除表的約束)
②、truncate table 表名;(即可以刪除數據,又刪除表的約束)
4、查詢數據:
①、查詢所有列:
select * from 表名;
②、查詢指定列:
select 欄位名,欄位名,...from 表名;
③、查詢時去除重覆記錄:
select distinct 欄位名 from 表名;
④、條件查詢:
select * from 表名 where 條件;
(null:表示沒有值;is null
’‘:是空字元串,有值,但是值是空字元串; =’‘)
(模糊條件like: %:表示任意個字元;_ : 表示一個字元)
⑤、聚合查詢:(count sum avg max min )
select count(*) from 表名;
⑥、分頁查詢:
select * from 表名 limit 起始行,查詢幾行;
⑦、查詢排序:(asc 順序,desc 倒序)
select * from 表名 order by 欄位名 asc/desc;
⑧、分組查詢並篩選:(按欄位名分組並統計個數,然後按條件篩選)
select 欄位名,count (*) from 表名 group by 欄位名 having 條件;
5、連接查詢(多表查詢):
①、交叉連接(笛卡爾積)
select * from 表1 [cross] join 表2 ;
②、內連接:
select * from 表1 [inner] join 表2 on 表1.欄位1=表2.欄位2 where 條件 ;
③、左【外】連接:
select * from 表1 left [outer] join 表2 on 條件 ;
④、右【外】連接:
select * from 表1 right [outer] join 表2 on 條件 ;
6、子查詢:(此條件通常關聯到另外的一個表中)
select 欄位名1 from 表名 where 欄位名2(或者欄位名1)in (條件);
7、聯合查詢(union):
select 語句1 union select 語句2 ;