www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > 充電吧
[導讀]基礎 1.1 mysql表復制 復制表結(jié)構(gòu)+復制表數(shù)據(jù) mysql>create table t3 like t1; mysql>insert into t3 select * from t1

基礎 1.1 mysql表復制
復制表結(jié)構(gòu)+復制表數(shù)據(jù)
mysql>create table t3 like t1;
mysql>insert into t3 select * from t1;
1.2 mysql 索引 1.ALTER TABLE用來創(chuàng)建普通索引,UNIQUE索引或PRIMARY KEY索引
ALTER TABLE table_name ADD INDEX index_name(column_list)
ALTER TABLE table_name ADD UNIQUE(column_list)
ALTER TABLE table_name ADD PRIMARY KEY(column_list)
2.create index
CREATE INDEX index_name ON table_name(column_list)
CREATE UNIQUE INDEX index_name ON table_name(column_list)
3.drop index
DROP INDEX index_name ON table_name
4.alter table table drop
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
1.3mysql視圖
mysql>create view v_t1 as select * from t1 where id>4 and id<11;
mysql> ? view   //view視圖的幫助信息
ALTER VIEW
CREATE VIEW
DROP VIEW
mysql>show tables;  //查看視圖
mysql>drop view v_t1;   //刪除視圖v_t1
1.4mysql內(nèi)置函數(shù) 字符串函數(shù):
CONCAT(string2[,...])   //連接字符串
LCASE(string2)  //轉(zhuǎn)換成小寫
UCASE(string2)  //轉(zhuǎn)換成大寫
LENGTH(string)  //string長度
LTRIM(string2)  //去除前端空格
RTRIM(string2)  //去除后端空格
REPEAT(string2,count)   //重復count次
REPLACE(str,search_str,replace_str) //在str中用replace_str替換search_str
SUBSTRING(str,position[,length])    //從str的position開始,取length個字符
SPACE(count)    //生成count個空格
數(shù)學函數(shù):
BIN(decimal_number) //十進制轉(zhuǎn)二進制
CEILING(number2)    //向上取整
FLOOR(number2)  //向下取整
MAX(col)    //取最大值,聚合時使用
MIN(col)    //取最小值,聚合時使用
SORT(number2)   //開平方
RAND()  //返回0-1內(nèi)的隨機值
日期函數(shù):
CURDATE()   //返回當前日期
CURTIME()   //返回當前時間
NOW()   //返回當前的日期時間
UNIX_TIMESTAMP(date)    //返回當前date的UNIX時間戳
FROM_UNIXTIME() //返回UNIX時間戳的日期值
WEEK(date)  //返回日期date為一年中的第幾周
YEAR(date)  //返回日期date的年份
DATEDIFF(expr,expr2)    //返回起始時間expr和結(jié)束時間expr2間天數(shù)
1.5mysql預處理語句
設置stmt1預處理,傳遞一個數(shù)據(jù)作為一個where判斷條件
mysql>prepare stmt1 from 'select * from t1 where id>?';
mysql>set @i=1; //設置一個變量
mysql>execute stmt1 using @i;   //執(zhí)行stmt1預處理
mysql>set@i=5;  //設置@i為5
mysql>execute stmt1 using @i;   //再次去執(zhí)行stmt1
mysql>drop prepare stmt1:   //如何刪除預處理stmt1
1.6mysql事務處理
mysql>set autocommit=0; //關閉自動提交功能
mysql>delete from t1 where id=11;   //從表t1中刪除了一條記錄
mysql>savepoint p1; //此時做一個p1還原點
mysql>delete from t1 where id=10;   //再次從表t1中刪除一條記錄
mysql>savepoint p2; //再次做一個p2還原點
mysql>rollback to p1;   //此時恢復到p1還原點,即p2自動失效
mysql>rollback; //退回到最原始的還原點
1.7mysql存儲 創(chuàng)建一個存儲p1();
mysql>d //改變語句界定符
mysql>create procedure p1()
->begin
->set @i=0;
->while @i<10 do
->select @i;
->set @i=@i+1;
->end while;
->end;
->//
mysql>d;
mysql>call p1(); //執(zhí)行存儲p1();
mysql>show procedurestatusG //查看procedure p1()的status信息
mysql>show create procedure p1G //查看procedure p1()的具體信息 1.8mysql觸發(fā)器 (用于增刪改)

創(chuàng)建一個名字為tg1的觸發(fā)器,當向t1表中插入數(shù)據(jù)時,就向t2表中插入一條數(shù)據(jù)

修改delimiter為//
mysql>d //
mysql>create trigger tg1 before insert on t1 for each row
>begin
>insert into t2(id) values(new.id);
>end//
準備兩個空表t1和t2
mysql>select * from t1;
mysql>select * from t2;
向t1表中插入多條數(shù)據(jù):
mysql>insert into t1 values(1),(2),(3),(4);

mysql>create trigger t2 before delete on t1 for each row
-> begin
-> delete from t2 where id=old.id;
-> end//

如何制作刪除表t1后t2表中的記錄也會跟著刪除呢?
mysql>create trigger tg3 before delete on t1 for each row
>begin delete from t2 where id=old.id;
>end//

如何制作更改表t1后t2表也跟著修改呢?
mysql>create trigger tg4 before update on t1 for each row
>begin update t2 set id=new.id where id=old.id;
>end//
改回語句界定符為分號
mysql>d;
查看觸發(fā)器:
mysql>show triggers;

1.9重排auto_increment值
MYSQL數(shù)據(jù)庫自動增長的ID如何恢復
清空表的時候,不能用delete from tablename;
而是要用:truncate table tablename;
這樣auto_increment就恢復成1了
或者
清空內(nèi)容后直接ALTER命令修改表:
alter table tablename auto_increment=1;
常見SQL技巧 2.1 正則表達式的使用 (? regexp)

使用正則表達式“$”和“[…]”進行匹配:

mysql>select name,email from t where email REGEXP “@163[.,]com$”

使用like方式查詢:
mysql>select name,email from t where email like “%@163.com” or email like “%@163,com”

2.2 巧用RAND()提取隨機行

MYSQL數(shù)據(jù)庫中有一個隨機函數(shù)rand()是獲取一個0-1之間的數(shù),利用這個函數(shù)一起和order by能夠把數(shù)據(jù)隨機排序。

mysql>select * from stu order by rand();

下面是通過limit隨機抽取了3條數(shù)據(jù)樣本

mysql>select * from stu order by rand() limit3;
2.3 利用GROUP BY的WITH ROLLUP子句統(tǒng)計 使用group by 的 with rollup子句可以檢索出更多的分組聚合信息
對demo表按照cname、pname列分組對pname列進行聚合計算如下
同樣使用with rollup 關鍵字后,統(tǒng)計出更多的信息,如下(注意:with rollup不可以和order by同時使用
2.4 利用BIT GROUP FUNCTIONS做統(tǒng)計 在使用group by語句時可以同時用使用bit_and、bit_or函數(shù)來完成統(tǒng)計工作。這兩個函數(shù)的作用主要是做數(shù)值之間的邏輯位運算
mysql>select id,bit_or(kind) from order_rab group by id; 對order_rab表中id分組時對kind做位與和或計算。
mysql>select id,bit_and(kind) from order_rab group by id; 2.5 使用外鍵需要注意的問題

創(chuàng)建外鍵的方式如下
mysql>create table temp(id int,name char(20),foreign key(id) references outTable(id) on delete cascade on update cascade);
注意:Innodb類型的表支持外鍵,myisam類型的表,雖然創(chuàng)建外鍵可以成功,但是不起作用,主要原因是不支持外鍵。

2.6 mysql中help的使用 在mysql中那么多的命令如何才能記得住是個問題,這里有一個特別好的獲得幫助的好方法,當然是在mysql》的提示下的操作:

? %
可以獲得所有的mysql>里的命令,這個是最多的,那么這里的東西如何去進一步獲得幫助呢?

?create

? opti%
因為記不住optimize的全稱,這個時候可以用%來替代

? reg%
獲得了記不住了的regexp用法

查看所有用? contents可以得到所有的幫助大綱,通過這個目錄再用?繼續(xù)往下細查。

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉