MySQL基本知識

SQL語句的分類:
DDL: 數據定義語言
create / drop / alter
DML:數據操作語句
insert / delete /update / truncate
DQL: 數據查詢語言:
select / show


mysql基礎

          1)mysql存儲結構: 數據庫 -> 表 -> 數據   sql語句
          2)管理數據庫:
                增加: create database 數據庫 default character utf8;
                刪除: drop database 數據庫;
                修改: alter database 數據庫 default character gbk;
                查詢: show databases / show create database 數據庫;
                修改數據庫的編碼 : alter database 數據庫名稱 character set utf8
                查看數據庫的編碼 : show varchar  like'character_set_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] 新表名;
                查詢: 
                                show tables  /  desc student;
         4) 管理數據:
                  增加: insert into 表(字段1,字段2,。。。) values(值1,值2.。。。。);
                  刪除: delete from 表 where 條件;
                                 TRUNCATE TABLE 表名稱;(不可回滾)
                  修改: 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 條件

mysql加強

    1)數據約束(表約束)
             默認值: default 默認值
             非空:   not null
            唯一: unique
            主鍵: primary key (非空+唯一)
            自增長: auto_increment
            外鍵: foreign key   約束兩種表

   例子:
                    ALTER TABLE food ADD CONSTRAINT fk_food_foodType_id FOREIGN KEY(foodType_id) REFERENCES foodType(id);

    2)關聯查詢(多表查詢)
            2.1 交叉連接(產生笛卡爾積:原因:連接條件不足夠)  表數量-1
            2.2 內連接查詢: inner join  
                            只有滿足連接條件的數據纔會顯示!!!
            2.3 左【外】連接查詢:left [outer] join
                            左表的數據必須全部顯示,用左表去匹配右表的數據,如果右表有符號條件的數據則顯示符
                            合條件的數據;如果不符合條件,則顯示null。
            2.4 右【外】連接查詢: right [outer] join
                            右表的數據必須全部顯示,用右表去匹配左表的數據,如果左表有符號條件的數據則顯示符
                            合條件的數據;如果不符合條件,則顯示null。
            2.5 自連接查詢   
    3)存儲過程
                    -- 創建存儲過程語法
                    delimeter 結束符號
                    create procedure 名稱(IN/OUT/INOUT  參數名稱 參數類型)    
                    begin
                            帶邏輯的sql語句
                    end 結束符號

                    --調用存儲過程
                    CALL 存儲過程名稱(實際參數);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章