mysql常用知識點 mysql 常用知識點。

2021-10-17 21:43:57 字數 4770 閱讀 4904

mysql -u root -p

show databases;

show tables;

select * from abc order by id limit 0,10;

create database bbb;

exit

mysqldump -u root -p game > /home/backup.sql

mysql -u root -p

show databases;

use bbb;

source /home/backup.sql

1)起整,取於 。

set cid=floor((i)/4);

set ccolor=i mod 4;

2)執行快捷鍵 ctrl+enter

ctrl+shift+enter

3) 事務回滾 -儲存過程。

根本就是捕捉錯誤,如果有錯誤,那麼執行rollback; 否則commit;

真是奇怪網上一堆**。不捕捉錯誤能表達目的?

create definer=`root`@`localhost` procedure `new_procedure`()

begin

declare t_error integer default 0;

declare continue handler for sqlexception set t_error=1;

set autocommit=0;

start transaction;

update stool set stool.stool_status=4 where room_id=0 and desk_id=1;

insert into fivek(room_id,desk_id,prewho,whoturn,cards_pre,`key`) values (0,1,0,0,'',1234567);

insert fivekinfo(`key`,stool_id,sendcards,nousecards) values (1234567,0,'','123|3434|4343|433');

insert fivekinfo(`key`,stool_id,sendcards,nousecards) values (1234567,1,'','123|3434|4343|433');

if t_error = 1 then

rollback;

else

commit;

end if;

commit;

set autocommit=1;

end**結合:

$lnk = mysql_connect("localhost", "root", "");

mysql_select_db("test");

mysql_query("begin");

$query = mysql_query("insert into test values(1, 'yangjun')");

$q1 = mysql_error();

mysql_query("insert into test values(1, 'yangjun')");

$q2 = mysql_error();

mysql_query("insert into test values(2, '楊俊')");

$q3 = mysql_error();

if (!$q1 && !$q2 && !$q3) else {

mysql_query("rollback"); //有任何錯誤發生,回滾並取消執行結果

mysql

pk:primary key 主鍵

nn:not null 非空

uq:unique 唯一索引

bin:binary 二進位制資料(比text更大)

un:unsigned 無符號(非負數)

zf:zero fill 填充0 例如字段內容是1 int(4), 則內容顯示為0001

ai:auto increment 自增

g:所謂cenerated column,就是資料庫中這一列由其他列計算而得

mysql 資料型別中的 integer types 有點奇怪。你可能會見到諸如:int(3)、int(4)、int(8) 之類的 int 資料型別。剛接觸 mysql 的時候,我還以為 int(3) 占用的儲存空間比 int(4) 要小, int(4) 占用的儲存空間比 int(8) 小。

後來,參看 mysql 手冊,發現自己理解錯了。

**如下

複製**

int(m): m indicates the maximum display width for integer types.

在 integer 資料型別中,m 表示最大顯示寬度。

原來,在 int(m) 中,m 的值跟 int(m) 所佔多少儲存空間並無任何關係。 int(3)、int(4)、int(8) 在磁碟上都是占用 4 btyes 的儲存空間。說白了,除了顯示給使用者的方式有點不同外,int(m) 跟 int 資料型別是相同的。

另外,int(m) 只有跟 zerofill 結合起來,才能使我們清楚的看到不同之處。

**如下

複製**

mysql> drop table if exists t;

mysql> create table t(id int zerofill);

mysql> insert into t(id) values(10);

mysql> select * from t;

| id         |

| 0000000010 |

mysql> alter table t change column id id int(3) zerofill;

mysql> select * from t;

| id   |

|  010 |

mysql>

mysql> alter table t change column id id int(4) zerofill;

mysql> select * from t;

| id   |

| 0010 |

mysql>

mysql> insert into t(id) values(1000000);

mysql> select * from t;

| id      |

|    0010 |

| 1000000 |

從上面的測試可以看出,「(m)」指定了 int 型數值顯示的寬度,如果字段資料型別是 int(4),則:當顯示數值 10 時,在左邊要補上 「00」;當顯示數值 100 是,在左邊要補上「0」;當顯示數值 1000000 時,已經超過了指定寬度「(4)」,因此按原樣輸出。

在使用 mysql 資料型別中的整數型別(tinyint、smallint、 mediumint、 int/integer、bigint)時,非特殊需求下,在資料型別後加個「(m)」,我想不出有何意義。

下面補充一下資料型別

1、整型

mysql資料型別

含義(有符號)

tinyint(m)

1個位元組  範圍(-128~127)

smallint(m)

2個位元組  範圍(-32768~32767)

mediumint(m)

3個位元組  範圍(-8388608~8388607)

int(m)

4個位元組  範圍(-2147483648~2147483647)

bigint(m)

8個位元組  範圍(+-9.22*10的18次方)

取值範圍如果加了unsigned,則最大值翻倍,如tinyint unsigned的取值範圍為(0~256)。

int(m)裡的m是表示select查詢結果集中的顯示寬度,並不影響實際的取值範圍,沒有影響到顯示的寬度,不知道這個m有什麼用。

2、浮點型(float和double)

mysql資料型別

含義float(m,d)

單精度浮點型    8位精度(4位元組)     m總個數,d小數字

double(m,d)

雙精度浮點型    16位精度(8位元組)    m總個數,d小數字

設乙個字段定義為float(5,3),如果插入乙個數123.45678,實際資料庫裡存的是123.457,但總個數還以實際為準,即6位。

3、定點數

浮點型在資料庫中存放的是近似值,而定點型別在資料庫中存放的是精確值。

decimal(m,d) 引數m<65 是總個數,d<30且 d

4、字串(char,varchar,_text)

mysql資料型別

含義char(n)

固定長度,最多255個字元

varchar(n)

固定長度,最多65535個字元

tinytext

可變長度,最多255個字元

text

可變長度,最多65535個字元

mediumtext

可變長度,最多2的24次方-1個字元

longtext

可變長度,最多2的32次方-1個字元

.net 和mysql

安裝好mysql之後,還需要安裝。mysql-connector-net

之後新增引用mysql data , 注意看路徑是否是剛才安裝的。mysql-connector-net。

新增引用。

using mysql;

using mysql.data.mysqlclient;

using mysql.data;

那麼網上常見的mysqlhelper類就可以直接拿來用了。

mysql常用知識點

sql 元素在 windows 和 linux 系統是否區分大小寫。mysql 的資料型別有大概可以分為 5 種,分別是整數型別 浮點數型別和定點數型別 日期和時間型別 字串型別 二進位制型別等。注意 整數型別和浮點數型別可以統稱為數值資料型別。數值型別 整數型別包括 tinyint smallin...

二級mysql知識點 Mysql 知識點

1.死鎖回滾策略 死鎖發生時mysql會選擇行數少的事務進行回滾 2.鎖型別 共享鎖,排他鎖 行級鎖 innob record lock 鎖定單條記錄 gap lock 鎖定乙個範圍的記錄 但不包括記錄本身 next key lock 鎖定乙個範圍的記錄 並且包 含記錄本身 這是預設的鎖型別 更新操...

MySQL常用知識點 學習筆記

左連線 保留左表中全部資料 右連線 保留右表中全部資料 中間連線 保留兩表中公共資料 其餘的可看下圖 ps 一定要明確保留哪一部分資料 若value不是空,則返回a 若value是空,則返回b select ifnull max grade null as 最大成績 distinct 成績 對成績進...