一、mysql基礎
1)mysql存儲結構: 數據庫 -> 表 -> 數據 sql語句
2)管理數據庫:
增加: create database 數據庫 defaultcharacter utf8;
刪除: drop database 數據庫;
修改: alter database 數據庫 defaultcharacter gbk;
查詢: show databases / show create database 數據庫;
3) 管理表:
選擇數據庫:use 數據庫;
增加: create table表(字段名1 字段類型,字段名2 字段類型......);
刪除: drop table 表;
修改:
添加字段: alter table 表 add [column] 字段名字段類型;
刪除字段: alter table 表 drop [column] 字段名;
修改字段類型: alter table 表 modify 字段名新的字段類型;
修改字段名稱: alter table 表 change 舊字段名 新字段名 字段類型;
修改表名稱: alter table 表 rename [to] 新表名;
查詢:
showtables / desc student;
4) 管理數據:
增加: insert into 表(字段1,字段2,。。。) values(值1,值2.。。。。);
刪除: delete from 表 where 條件;
修改: update 表 set 字段1=值1,字段2=值2...... where 條件;
查詢:
4.1)所有字段: select * from 表;
4.2)指定字段: select 字段1,字段2.... from 表;
4.3)指定別名: select 字段1 as 別名 from 表;
4.4 )合併列: select (字段1+字段2) from 表;
4.5)去重: select distinct 字段 from 表;
4.6)條件查詢:
a)邏輯條件:and(與) or(或)
select* from 表 where 條件1 and/or 條件2
b)比較條件: > < >= <= = <> between and(在。。。之間)
select* from 表 where servlet>=90;
c)判空條件:
判斷null: is null / is not null
判斷空字符串: ='' / <>''
d)模糊條件: like
%: 替換任意個字符
_: 替換一個字符
4.7分頁查詢:limit 起始行,查詢行數
起始行從0開始
4.8排序: order by 字段 asc/desc
asc:正序,順序
desc:反序,倒序
4.9分組查詢:group by 字段
4.10:分組後篩選: having 條件
SQL語句的分類:
DDL:數據定義語言
create/ drop / alter
DML:數據操作語句
insert/ delete /update / truncate
DQL:數據查詢語言:
select / show
二、mysql加強
1)數據約束(表約束)
默認值: default 默認值
非空: not null
唯一: unique
主鍵: primary key (非空+唯一)
自增長: auto_increment
外鍵: foreign key 約束兩種表
2)關聯查詢(多表查詢)
2.1交叉連接(產生笛卡爾積:原因:連接條件不足夠) 表數量-1
2.2內連接查詢: inner join
只有滿足連接條件的數據纔會顯示!!!
2.3左【外】連接查詢:left [outer] join
左表的數據必須全部顯示,用左表去匹配右表的數據,如果右表有符號條件的數據則顯示符 合條件的數據;如果不符合條件,則顯示null。
2.4右【外】連接查詢: right [outer] join
右表的數據必須全部顯示,用右表去匹配左表的數據,如果左表有符號條件的數據則顯示符 合條件的數據;如果不符合條件,則顯示null。
2.5自連接查詢
3)存儲過程
--創建存儲過程語法
delimeter結束符號
createprocedure 名稱(IN/OUT/INOUT 參數名稱 參數類型)
begin
帶邏輯的sql語句
end結束符號
--調用存儲過程
CALL存儲過程名稱(實際參數);