bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

怎么記mysql筆記 Mysql筆記

MySQL筆記1select基礎

查詢語句:select 語句

創新互聯是專業的清鎮網站建設公司,清鎮接單;提供成都網站建設、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行清鎮網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

三種能力:投影、選擇、連接

投影:在一張二維表中根據所需要的條件選出所需要的列

選擇:在二維表中根據所需的條件選擇合適的行

連接:從一張或者多張表中獲取所需要的行,并且把這個行結合在一起的查詢

SQL語句大小寫不敏感。

select語句是可以計算的

算術表達式和運算符優先級

舉例:select ename,sal 12*sal+100 from emp

計算出年薪+100塊

NULL值是不可用,且未分配的,未知并且不適用的值,可以當成是保留值

AS其實可以省略

例如:select ename as name,sal salary from emp;

查詢出的字段會自動換成別名

例子:select ename "Name",sal*12 "Annual Salary" from emp;

級聯操作是將列或字符串和其他列串聯,由兩條豎線(||)表示

select ename,job,ename || job as "Employees" from emp;

可以看出Employees就將ENAME和JOB進行結合的一個操作

在select句子中適用DISTINCT 關鍵字消除重復行

select distinct deptnp from emp;

限制選擇的行:

where關鍵字

如果where后面查的數據是字符串類型或者日期類型的要加''號

#######比較條件

舉幾個例子:

select ename,job,sal,deptno from emp where sal between 5000 and 10000;

這個是包含了5000和10000的

in的表達:

select empno,ename,mgr,deptno from emp where mgr in (7788,7782,7000);

只要mgr有括號里面的值都顯示出來。

通配符:%通配的是多個字符,_通配的是一個字符

IS NULL是查詢某個字段為空的顯示出來

and、or、not

例子:

查詢sal=2000和job的內容是包括MAN字符串的,當同時滿足兩個條件時候才返回結果。

and就是兩邊同時為真,or的話是有一邊為真就行,not就是不等于

ASC 升序,默認升序

DESC 降序

例子:

將deptno中進行升序排列,排列出來后,在將sal進行降序排列。

單行函數:就是對單行數據進行處理的函數,只針對這一條數據得出一個結果

函數工作的過程

ROUND(45.926,2)是將45.926這個數字的小數點后兩位進行四舍五入操作得到45.93

TRUNC(45.926,2) 是將45.926這個數字的小數點后兩位后面的進行丟掉。

返回當前系統日期

經常是不同類型之間的轉換

TO_CHAR就是將日期型數字型轉換成字符型

例子:

數字型的轉換

把字符轉換成數字:

把字符轉換成日期:

什么是分組函數?

另外的名字叫多行函數,針對于多行數據進行一個匯總處理的一類函數,最后會得到一個匯總的結果。

例子:

其實就是對一系列數據找最大值

基本格式:select group_function(column),... from table [where condition];

首先對一個數據進行分類匯總把每一組的數據單獨的拿出來。就是對每一列數據的相同數據進行一個分組,然后在將分組后的結果再去執行select后面跟的一個分組函數的操作。

例子:

那下面這樣的怎么操作呢?

其實就是對分組以后的結果再次進行一個限制篩選

where和Having的區別?

where是針對于整體的一個查詢結果

Having是針對于分組后的查詢結果的一個條件限制,它是不能單獨存在的,它只能夠在group by后面

下面是它的表達式:

顯示部門的最大平均薪水是多少

select max(avg(sal))

是這樣的一個嵌套

當我們查的數據存在于多個表的時候就需要多表查詢

下面是用到的表

一個是EMP的職員表、一個是DEPT的部分表

表連接的三種方式:

從總類上來看:自連接、等值連接、外連接(又可以分為三類:左連接、右連接、全連接)

自連接:一個表自己與自己建立連接成為自連接或自身連接。

在查詢的時候多表,這兩張表是同一張表,所以在查詢前我們需要對這個表進行一個別名的重命名。

舉例:查詢出員工編號、名字及其經理名字

MGR對應的是經理的ID號,這個對應的就是另一張經理表中的名字

表示比較連接列的值顯示出最終的一個結果,其查詢結果中列出被連接表中的所有列,包括其中的重復列。

查詢員工的姓名 工作 部門號 部門名稱

左連接就是返回左邊的匹配行,不考慮右邊的表是否有相應的行

(+)的意思就是dept是個匹配表,左邊是一個基礎表,基礎表優先,如果右邊這個表找不到對應的值去匹配,會自動填空

右連接就是返回右邊的匹配行,不考慮左邊的表是否有相應的行,如果沒有會自動填空

左表右表都不做限制,所有的記錄都顯示,不足的地方用null填充

FULL JOIN表示emp和dept做一個全連接

ON表示觸發條件 。

MySQL筆記(簡單查詢)

用來查詢數據庫中表的數據。關鍵字: select 、where 等。

注:查詢只是對數據的一種顯示,不會對數據庫進行修改

1.查詢所有數據 : select * from 表 ; “*” 表示所有列; select id ,name, age, sex, birthday from 表 ; (注:全部字段寫法相對于“*”的寫法查詢效率要高,但寫法比較麻煩)

2.查詢部分列 : select 字段1, 字段2……. from 表 ;

3.別名查詢( 別名作用是方便觀看和處理數據)查詢時可以給表、列指定別名,關鍵字: AS

SELECT 字段1 AS 別名1,字段2 AS 別名2……. from 表; 或者 SELECT 字段1 別名1,字段2 別名2……. from 表 ; AS 可以不寫

4.清除重復值 ( 查詢指定列并且數據不出現重復 ): SELECT DISTINCT 字段1,字段2...... FORM 表;

5.查詢結果進行運算 ( 注意:參與計算列必須是數值類型 )

5.1與固定值計算: SELECT 列名1+固定值 FROM 表 ;

5.2列與列計算 : SELECT 列1+ 列2 FROM 表;

6.條件查詢 : SELECT * From 表 WHERE 字段 = 值;

如何在MySql中記錄SQL日志記錄

一.錯誤日志

錯誤日志在Mysql數據庫中很重要,它記錄著mysqld啟動和停止,以及服務器在運行過程中發生的任何錯誤的相關信息。

1.配置信息

--log-error=[file-name]用來指定錯誤日志存放的位置。

如果沒有指定[file-name],默認hostname.err做為文件名,默認存放在DATADIR目錄中。

也可以將log-error配置到my.cnf文件中,這樣就省去了每次在啟動mysqld時都手工指定--log-error.例如:

[mysql@test2]$ vi /etc/my.cnf

# The MySQL server

[mysqld]

....

log-error = /var/lib/mysql/test2_mysqld.err

.....

2.錯誤信息樣板

080313 05:21:55 mysqld started

080313 5:21:55 InnoDB: Started; log sequence number 0 43655

080313 5:21:55 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)

080313 5:24:13 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

080313 5:24:13 InnoDB: Starting shutdown...

080313 5:24:16 InnoDB: Shutdown completed; log sequence number 0 43655

080313 5:24:16 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

080313 05:24:16 mysqld ended

080313 05:24:47 mysqld started

080313 5:24:47 InnoDB: Started; log sequence number 0 43655

080313 5:24:47 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)

080313 5:33:49 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

三.查詢日志

查詢日志記錄了clinet的所有的語句。

Note:由于log日志記錄了數據庫所有操作,對于訪問頻繁的系統,此種日志會造成性能影響,建議關閉。

1.配置信息

--log=[file-name]用來指定錯誤日志存放的位置。

如果沒有指定[file-name],默認為主機名(hostname)做為文件名,默認存放在DATADIR目錄中。

也可以將log配置到my.cnf文件中,這樣就省去了每次在啟動mysqld時都手工指定--log.例如:

# The MySQL server

[mysqld]

......

#query-log

log = /var/lib/mysql/query_log.log

......

2.讀取查詢日志

查詢日志是純文本格可,可以使用OS文本讀取工具直接打開查看。例如:

[mysql@test2]$ tail -n 15 query_log.log

080313 7:58:28 17 Query show tables

080313 8:07:45 17 Quit

080313 10:01:48 18 Connect root@localhost on

080313 10:02:38 18 Query SELECT DATABASE()

18 Init DB test

080313 10:02:42 18 Query show tables

080313 10:03:07 18 Query select * from pet

080313 10:06:26 18 Query insert into pet values('hunter','yxyup','cat','f','1996-04-29',null)

080313 10:06:39 18 Query select * from pet

080313 10:07:13 18 Query update pet set sex='m' where name='hunter'

080313 10:07:38 18 Query delete from pet where name='hunter'

080313 10:13:48 18 Query desc test8

080313 10:14:13 18 Query create table t1(id int,name char(10))

080313 10:14:41 18 Query alter table t1 add sex char(2)

[mysql@test2]$

四.慢查詢日志

慢查詢日志是記錄了執行時間超過參數long_query_time(單位是秒)所設定值的SQL語句日志。

Note:慢查詢日志對于我們發現性能有問題的SQL有很幫助,建議使用并經常分析

1.配置信息

--log-slow-queries=[file-name]用來指定錯誤日志存放的位置。

如果沒有指定[file-name],默認為hostname-slow.log做為文件名,默認存放在DATADIR目錄中。

也可以將log-slow-queries配置到my.cnf文件中,這樣就省去了每次在啟動mysqld時都手工指定--log-slow-queries.例如:

# The MySQL server

[mysqld]

......

#slow-query-log

log-slow-queries = /var/lib/mysql/slow_query_log.log

......

2.讀取慢查詢日志

[mysql@test2]$ cat slow_query_log.log

/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:

Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

Time Id Command Argument

# Time: 080313 5:41:46

# User@Host: root[root] @ localhost []

# Query_time: 108 Lock_time: 0 Rows_sent: 0 Rows_examined: 8738

use test;

select count(1) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name;

# Time: 080313 5:52:04

# User@Host: root[root] @ localhost []

# Query_time: 583 Lock_time: 0 Rows_sent: 0 Rows_examined: 508521177

select count(1) from t1 a, t1 b where a.id=b.id;

/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:

Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

Time Id Command Argument

# Time: 080313 10:39:59

# User@Host: root[root] @ localhost []

# Query_time: 11 Lock_time: 0 Rows_sent: 4537467 Rows_examined: 4537467

use test;

select id from tail;

如果慢查詢日志記錄很多可以使用mysqldumpslow進行分類匯總

[mysql@test2]$ mysqldumpslow slow_query_log.log

Reading mysql slow query log from slow_query_log.log

Count: 1 Time=583.00s (583s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost

select count(N) from t1 a, t1 b where a.id=b.id

Count: 1 Time=108.00s (108s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost

select count(N) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name

Count: 1 Time=11.00s (11s) Lock=0.00s (0s) Rows=4537467.0 (4537467), root[root]@localhost

select id from tail;

mysql有以下幾種日志:

錯誤日志: -log-err

查詢日志: -log

慢查詢日志: -log-slow-queries

更新日志: -log-update

二進制日志: -log-bin

在mysql的安裝目錄下,打開my.ini,在后面加上上面的參數,保存后重啟mysql服務就行了。

例如:

#Enter a name for the binary log. Otherwise a default name will be used.

#log-bin=

#Enter a name for the query log file. Otherwise a default name will be used.

#log=

#Enter a name for the error log file. Otherwise a default name will be used.

log-error=

#Enter a name for the update log file. Otherwise a default name will be used.

#log-update=

查看日至:

1. 首先確認你日志是否啟用了

mysqlshow variables like 'log_bin';

如果啟用了,即ON

那日志文件就在mysql的安裝目錄的data目錄下

cat/tail 日志文件名

2. 怎樣知道當前的日志

mysql show master status;

3. 查看從某一段時間到某一段時間的日志

mysqlbinlog --start-datetime='2008-01-19 00:00:00'

--stop-datetime='2008-01-30 00:00:00' /var/log/mysql/mysql-bin.000006

mysqllog1.log

當前名稱:怎么記mysql筆記 Mysql筆記
瀏覽路徑:http://vcdvsql.cn/article14/hhhege.html

成都網站建設公司_創新互聯,為您提供做網站、ChatGPT品牌網站設計、營銷型網站建設、靜態網站、微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設