什麼是mysqlmysql
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。sql
爲何是mysql
MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。
MySQL所使用的 SQL 語言是用於訪問數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策,分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。數據庫
mysql的用法ide
1 默認約束函數
create table emp (id int default 12)大數據
2 設置自增優化
create table emp(id int identity(1,1)網站
3 查看錶定義code
desc emp索引
4 修改代表
alter table emp rename emp2
4 修改字段的數據類型
alter table emp rename emp2
4 修改代表
alter table emp2 modify id biginf
5 修改代表
alter table emp rename emp2
6 修改字段名
alter table emp2 change id iid biginf
7 添加字段
alter table emp2 add name navrchar(200) null
8 刪除字段
alter table emp2 drop name
9 刪除約束
刪除外建約束 alter table emp2 drop foreign key fk_emp_dept 刪除主鍵約束 alter table emp2 drop primary key pk_emp_dept
10 刪除表
drop table if exists emp1,emp2
11 模版建表
複製表結構 create table xx like xxx 複製表結構和數據解構 create table xx as select * from xx
存儲過程
delimiter // CREATE PROCEDURE pro_c () BEGIN SELECT * FROM USER ; END// delimiter ; CALL pro_c (); 其中 delimiter // 的意思是將;結束符設置爲 // 因此 end 後的//的意思即爲結束的意思,最後使用delimiter ; 轉化//爲;做爲結束符
你所不值的mysql的大數據用法用法
DROP TABLE IF EXISTS bi_user_copy; CREATE TEMPORARY TABLE bi_cartelo_ali_daily_zp_copy AS SELECT * FROM bi_user LIMIT 0, 100; SELECT * FROM bi_cartelo_ali_daily_zp_copy; 其中tmpoprary的做用就是建立虛表,經過虛表這個中間表,就能夠對大批量數據進行分批處理,最後將處理好的數據進行彙總,有效的解決了從大數據中取出本身想要的數據
數據庫優化
1 模糊查詢
在一個複雜的查詢裏面最好避免使用LIKE等查詢,這樣會致使索引沒法使用
2 索引如下狀況
(1)避免在索引字段上使用not,<>,!= (2) 避免在索引上使用IS NULL 和IS NOT NULL (3)避免在索引列上出現數據轉型及函數 (4) 避免創建索引的列中使用空值 3 複雜語句 對於大批量數據儘可能使用分頁查詢,將語句拆分,數據先清洗處理後在查詢等 4 合理的使用語法糖 (1)可使用UNION ALL的地方儘可能不要使用UNION,UNION🈶去重的做用,可是速度很慢 (2)在where語句中避免使用邏輯運算,in,not,or 或having等語法糖 (3)select 語句中儘可能不要使用*語法糖 以上,謝謝