mysql 123 456 mysql中的資料型別

2021-10-17 12:55:01 字數 2757 閱讀 5303

#常見的資料型別

數值型:

整型小數:

定點數浮點數

字元型:

較短的文字:char、varchar

較長的文字:text、blob(較長的二進位制資料)

日期型:

#一、整型

分類:tinyint、smallint、mediumint、int/integer、bigint

1 2348

特點:① 如果不設定無符號還是有符號,預設是有符號,如果想設定無符號,需要新增unsigned關鍵字

② 如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值

③ 如果不設定長度,會有預設的長度

長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!

#1.如何設定無符號和有符號

drop table if exists tab_int;

create table tab_int(

t1 int(7) zerofill,

t2 int(7) zerofill

desc tab_int;

insert into tab_int values(-123456);

insert into tab_int values(-123456,-123456);

insert into tab_int values(2147483648,4294967296);

insert into tab_int values(123,123);

select * from tab_int;

#二、小數

分類:1.浮點型

float(m,d)

double(m,d)

2.定點型

dec(m,d)

decimal(m,d)

特點:m:整數部位+小數部位

d:小數部位

如果超過範圍,則插入臨界值

m和d都可以省略

如果是decimal,則m預設為10,d預設為0

如果是float和double,則會根據插入的數值的精度來決定精度

③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用

#測試m和d

drop table tab_float;

create table tab_float(

f1 float,

f2 double,

f3 decimal

select * from tab_float;

desc tab_float;

insert into tab_float values(123.4523,123.4523,123.4523);

insert into tab_float values(123.456,123.456,123.456);

insert into tab_float values(123.4,123.4,123.4);

insert into tab_float values(1523.4,1523.4,1523.4);

#原則:

所選擇的型別越簡單越好,能儲存數值的型別越小越好

#三、字元型

較短的文字:

char

varchar

其他:binary和varbinary用於儲存較短的二進位制

enum用於儲存列舉

set用於儲存集合

較長的文字:

text

blob(較大的二進位制)

特點:寫法m的意思特點空間的耗費效率

charchar(m)最大的字元數,可以省略,預設為1固定長度的字元比較耗費高

varchar varchar(m)最大的字元數,不可以省略可變長度的字元比較節省低

create table tab_char(

c1 enum('a','b','c')

insert into tab_char values('a');

insert into tab_char values('b');

insert into tab_char values('c');

insert into tab_char values('m');

insert into tab_char values('a');

select * from tab_set;

create table tab_set(

s1 set('a','b','c','d')

insert into tab_set values('a');

insert into tab_set values('a,b');

insert into tab_set values('a,c,d');

#四、日期型

分類:date只儲存日期

time 只儲存時間

year只儲存年

datetime儲存日期+時間

timestamp儲存日期+時間

特點:位元組範圍時區等的影響

datetime 81000——9999 不受

timestamp4 1970-2038 受

create table tab_date(

t1 datetime,

t2 timestamp

insert into tab_date values(now(),now());

select * from tab_date;

show variables like 'time_zone';

set time_zone='+9:00';

mysql 123456 MySQL基本授權操作

本文介紹mysql許可權的基本操作。授權mysql使用者包括user和host兩部分。user與host是一起出現的,即許可權指的是某個使用者在某個主機或某些主機上的許可權。首先,建立使用者 mysql create user root identified by mysql123456 接著,授權...

Mysq篇 了解Mysql(一)

in關鍵字和exists關鍵字select from a where a.idin select id from b 對外表a使用索引效率高,建議a為大表。select from a whereexists select from b where a.id b.id 對內表b使用索引效率高,建議b為...

mysql 密碼清楚 linux清除MYSQL密碼

1.先以root使用者登入系統 2.關閉mysql服務或程序 service d stop killall mysqld 3.特權啟動mysql usr local mysql bin mysqld safe skip grant tables or mysqld safe skip grant t...