數據庫的基本操作
? ? ?1.創建數據庫:Crete database 數據庫名;
在創建數據庫表之前,使用use 數據庫名m;之后創建數據庫。
? ? ? 2.創建數據庫表:create table 表名(字段名 數據類型 約束條件);
?3.查看數據表結構 :desc 表名; 和show create table 表名 g
?
?4.約束條件;主鍵約束 ? primary key
? ? ? ? ? ? 非空約束 ? not null
唯一約束 ? ? unique
默認約束 ? ? ? default
設置屬性值的自增 ? auto_increment
?5.修改數據表;修改表名 alter table ?表名 rename 新表名
? ? ? ? ? ? ? ? ? ? 修改字段名 ?alter table ?表名 modify 字段名 數據類型
? ? ? ? ? ? ? ? ? ? ?修改數據類型 ?alter table 表名 change 舊字段名 ?新字段名 數據類型
? ? ? ? ? ? ? ? ? ? 添加字段 ?alter table 表名 add 字段名 數據類型 約束條件 firsT/after 字段名
? ? ? ? ? ? ? ? ? ? ?刪除字段 ?alter table 表名 drop 字段名
? ? ? ? ? ? ? ? ? ? 更改表的存儲引擎 ?alter table 表名 engine=存儲引擎
? ? ? ? 總結:對表結構的修改:alter table 表名 modify 等等;
數據類型和運算符
數據類型:字符串型,數值型,日期時間型
1.整型;tinyint smallint mediumint int bigint.
2.浮點型;float DOUBLE ?decimal.
3.日期時間型;year time date datetime ?timestamp.
4.文本字符串;char varchar tinytxet text mediumtext longtext enum set .
mysql函數
abs() ?sqrt() ceil() ceiling() floor() rand() round()
?查詢數據和插入更新刪除
?創建數據庫表:create ?database 數據庫名;?
?打開數據庫:use 數據庫名;?
?新建數據表:create 表名 (字段名 數據類型 );
?{
?數據類型: 字符串型,數值型,日期時間型
?1.整型;tinyint smallint mediumint int bigint.
?2.浮點型;float DOUBLE ?decimal.
?3.日期時間型;year time date datetime ?timestamp.
?4.文本字符串;char varchar tinytxet text mediumtext longtext enum set .
?約束條件 :主鍵 ?primary key ?
? ? ? ? ? ? 唯一主鍵 ? unique?
非空約束 ?not null?
默認約束 default 默認值
外鍵 ? constraint ?外鍵名 foreign key (字段名) references ?主鍵名 主鍵列;
? ? ? ? ? ? 屬性值自增 ?auto_increment
查看數據表結構:desc 表名?
? ? ? ? ? ? ? ? show create table ?表名?
修改數據表 :修改表名 alter table 表名 rename 新表名
? ? ? ? ? ? ?修改字段名 ?alter table 表名 change 字段名 新字段名 數據類型
? ? ? ? ? ? ?修改數據類型 ?alter table 表名 modify 字段名 數據類型?
添加字段 alter table 表名 add 字段名 數據類型(first /after )
? ? ? ? ? ? ?刪除字段 alter table 表名 ?drop 字段名 ?
? ? ? ? ? ? ?更改表的存儲引擎 alter table 表名 engine =存儲引擎? ? ? ? ? ? ?刪除外鍵約束 alter table 表名 drop foreign key 外鍵約束名
基本查詢數據 select 字段名 from 表名 (where
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? gropy by having ?with rollup ??
?order by ?
?limit?
?distinct
連接查詢 ? 內連接 ? select 字段名 from ?表名1 inner join 表名2 ?on 表名1.字段=表名2.字段;
? ? ? ? ? ?左連接 ? select 字段名 from ?表名1 left outer join 表名2 ?on 表名1.字段=表名2.字段;
? 右連接 ? select 字段名 from ?表名1 right outer join 表名2 ?on 表名1.字段=表名2.字段;
? * 左連接就是所要查詢的字段結果包含所有左表的字段
子查詢(嵌套查詢) ? ( any(some)
? ? ? ? ? ? ? ? ? ? ?all?
? ? ? ? ? ? exists (exists 和條件表達式一起使用,如果exists后面的查詢語句返回至少一條記錄,
則exists結果為ture 此時外層查詢語句將進行查詢,not exists 與之相反。)
in )
合并查詢結果 select 字段名 from 表名 查詢條件 union(all)select 字段名 from 表名 查詢條件
注意:兩個表對應的列數和字段名必須相等。不使用all,結果刪除重復的記錄。?
] ?
?}
?插入數據表:insert into 表名(字段名)values (所要插入的數據 );
?更新數據:updata 表名 set ?字段=值 條件;
?刪除數據:delete from 表名 條件;
?
?索引?
?優點:創建唯一索引,保證數據庫表的每一行數據的唯一性,大大加快查詢速度,在事項數據的參照完整性方面,可以加速表和表之間的連接
?在使用分組和排序字句進行數據查詢,也可以減少查詢中分組和排序的時間。
?普通索引 ? index(字段名):最基本的索引類型,沒有唯一性的限制,只是為了加快對數據的訪問速度
?唯一索引 ? unique idenx 索引名(字段)索引值必須是唯一的,但允許有空值,減少查詢縮影操作的執行時間,尤其是對龐大的數據表。
?單列索引 ? ?一個表可以有多個索引
?組合索引 ? ?多個字段上創建一個索引,查詢時遵循最左前綴,只有查詢符合這樣的最左前綴時才能使用索引
?全文索引 ? ?fulltext 可以用于全文搜索,只用MYISAM存儲引擎支持fulltext 索引 并且只為char varchar text?
?空間索引 ? ? spatial 必須在MYISAM類型的表中創建,且空間類型的字段必須為空,
?
?在已經存在的表上創建索引
?alter table 表名 add index 索引名 (字段名(索引長度))
?create index 索引名 on 表名(字段名);
?
?alter table 表名 drop index 索引名;
?drop index 索引名 on ?表名
創建存儲過程和函數
?create procedure 存儲過程的名稱()begin 存儲過程體 end;
?每次調用都會執行存儲過程體。
?
?創建存儲函數
?create 存儲函數名稱 (參數列表)
?returns 返回值類型
?return (函數體);
?
?變量的使用
?定義變量:declare 變量名 變量類型 default 默認值;
?為變量賦值:set 變量名=值;
?
?光標的使用
?聲明光標:declare 名稱 cursor for for 查詢語句;
?打開光標:open 名稱;
?使用光標:fetch 名稱 into 將光標中查詢出的結果存入改參數中;
?關閉光標;close 名稱;
?
?流程控制的使用(case loop leave iterate repeat while )
?
?調用存儲過程:call 名稱(參數);
?調用存儲函數:select名稱(參數);
?
?
?視圖
?視圖的含義:視圖是虛擬表,是從數據庫中一個或多個表中導出的表,
?create [or replace] view 視圖名 as select語句
?create view 視圖名(自己所定義的列名) as select 語句
?
?desc 視圖名;
?show create view 視圖名 G
?show table status like ‘視圖名’G
?
?修改視圖和創建視圖是一樣的。
?alter view 視圖名 as select語句
?
?updata 視圖名 set 字段=值;
?
?刪除視圖 drop view if exists ?視圖名;
?
?
?mysql觸發器
?和存儲過程一樣,都是嵌入到mysql的一段程序,觸發器是由時間來觸發某個操作,這些事件包括insert update delete?
?創建觸發器?
?
?創建只有一個執行語句的觸發器
?create trigger 觸發器名稱 標識觸發時機(before/after )標識觸發事件(insert update delete)on標識觸發器的表名 for each 觸發器執行語句;
本文講解了mysql的相關內容,更多內容請關注php中文網。
相關推薦: