中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

手機(jī)端首頁(yè)尺寸多少seo排名計(jì)費(fèi)系統(tǒng)

手機(jī)端首頁(yè)尺寸多少,seo排名計(jì)費(fèi)系統(tǒng),搜索引擎網(wǎng)站排行榜,巴西網(wǎng)站域名文章目錄 PostgreSQL數(shù)據(jù)類型說明PostgreSQL數(shù)據(jù)類型使用單引號(hào)和雙引號(hào)數(shù)據(jù)類型轉(zhuǎn)換布爾類型數(shù)值類型整型浮點(diǎn)型序列數(shù)值的常見操作 字符串類型日期類型枚舉類型IP類型JSON&JSONB類型復(fù)合類型數(shù)組類型 PostgreSQL數(shù)據(jù)類型說明 PGSQL支持的類型特別豐富,大多數(shù)…

文章目錄

  • PostgreSQL數(shù)據(jù)類型說明
  • PostgreSQL數(shù)據(jù)類型使用
    • 單引號(hào)和雙引號(hào)
    • 數(shù)據(jù)類型轉(zhuǎn)換
    • 布爾類型
    • 數(shù)值類型
      • 整型
      • 浮點(diǎn)型
      • 序列
      • 數(shù)值的常見操作
    • 字符串類型
    • 日期類型
    • 枚舉類型
    • IP類型
    • JSON&JSONB類型
    • 復(fù)合類型
    • 數(shù)組類型

PostgreSQL數(shù)據(jù)類型說明

PGSQL支持的類型特別豐富,大多數(shù)的類型和MySQL都有對(duì)應(yīng)的關(guān)系

名稱說明對(duì)比MySQL
布爾類型boolean,標(biāo)準(zhǔn)的布爾類型,只能存儲(chǔ)true,falseMySQL中雖然沒有對(duì)應(yīng)的boolean,但是有替換的類型,數(shù)值的tinyint類型,和PGSQL的boolean都是占1個(gè)字節(jié)。
整型smallint(2字節(jié)),integer(4字節(jié)),bigint(8字節(jié))跟MySQL沒啥區(qū)別。
浮點(diǎn)型decimal,numeric(和decimal一樣一樣的,精準(zhǔn)浮點(diǎn)型),real(float),double precision(double),money(貨幣類型)和MySQL基本也沒區(qū)別,MySQL支持float,double,decimal。MySQL沒有這個(gè)貨幣類型。
字符串類型varchar(n)(character varying),char(n)(character),text這里和MySQL基本沒區(qū)別。 PGSQL存儲(chǔ)的varchar類型,可以存儲(chǔ)一個(gè)G。MySQL好像存儲(chǔ)64kb。
日期類型date(年月日),time(時(shí)分秒),timestamp(年月日時(shí)分秒)(time和timestamp可以設(shè)置時(shí)區(qū))沒啥說的,和MySQL基本沒區(qū)別。 MySQL有個(gè)datetime。
二進(jìn)制類型bytea-存儲(chǔ)二進(jìn)制類型MySQL也支持,MySQL中是blob
位圖類型bit(n)(定長(zhǎng)位圖),bit varying(n)(可變長(zhǎng)度位圖)就是存儲(chǔ)0,1。MySQL也有,只是這個(gè)類型用的不多。
枚舉類型enum,跟Java的enum一樣MySQL也支持。
幾何類型點(diǎn),直線,線段,圓…………MySQL沒有,但是一般開發(fā)也用不到
數(shù)組類型在類型后,追加[],代表存儲(chǔ)數(shù)組MySQL沒有~~~
JSON類型json(存儲(chǔ)JSON數(shù)據(jù)的文本),jsonb(存儲(chǔ)JSON二進(jìn)制)可以存儲(chǔ)JSON,MySQL8.x也支持
ip類型cidr(存儲(chǔ)ip地址)MySQL也不支持~

更多數(shù)據(jù)類型見官網(wǎng)

PostgreSQL數(shù)據(jù)類型使用

單引號(hào)和雙引號(hào)

在PGSQL中,寫SQL語句時(shí),單引號(hào)用來標(biāo)識(shí)實(shí)際的值。雙引號(hào)用來標(biāo)識(shí)一個(gè)關(guān)鍵字,比如表名,字段名。

-- 單引號(hào)寫具體的值,雙引號(hào)類似MySQL的``標(biāo)記,用來填充關(guān)鍵字
-- 下面的葡萄牙會(huì)報(bào)錯(cuò),因?yàn)槠咸蜒啦皇顷P(guān)鍵字
select 1.414,'卡塔爾',"葡萄牙";

數(shù)據(jù)類型轉(zhuǎn)換

第一種方式:只需要在值的前面,添加上具體的數(shù)據(jù)類型即可

-- 將字符串轉(zhuǎn)成位圖類型
select bit '010101010101001';

第二種方式:也可以在具體值的后面,添加上 ::類型 ,來指定

-- 數(shù)據(jù)類型
select '2011-11-11'::date;
select '101010101001'::bit(20);
select '13'::int;

第三種方式:使用CAST函數(shù)

-- 類型轉(zhuǎn)換的完整寫法
select CAST(varchar '100' as int);

布爾類型

布爾類型可以存儲(chǔ)三個(gè)值,true,false,null。

布爾類型的約束沒有那么強(qiáng),true,false大小寫隨意,他會(huì)給你轉(zhuǎn),同時(shí)yes,no這種他也認(rèn)識(shí),但是需要轉(zhuǎn)換

select true,false,'yes'::boolean,boolean 'no',True,FaLse,NULL::boolean;

boolean類型在做and和or的邏輯操作時(shí)的結(jié)果

字段A字段BA and BA or B
truetruetruetrue
truefalsefalsetrue
trueNULLNULLtrue
falsefalsefalsefalse
falseNULLfalseNULL
NULLNULLNULLNULL

數(shù)值類型

整型

整型比較簡(jiǎn)單,主要就是三個(gè):

  • smallint、int2:2字節(jié)
  • integer、int、int4:4字節(jié)
  • bigint、int8:8字節(jié)

一般就用integer,如果要存主鍵,比如雪花算法,那就bigint。如果要節(jié)約空間,根據(jù)情況可選smallint。

浮點(diǎn)型

浮點(diǎn)類型就關(guān)注2個(gè)

  • decimal(n,m):本質(zhì)就是numeric,PGSQL會(huì)幫你轉(zhuǎn)換
  • numeric(n,m):PGSQL本質(zhì)的浮點(diǎn)類型

針對(duì)浮點(diǎn)類型的數(shù)據(jù),就使用 numeric

序列

MySQL中的主鍵自增,是基于auto_increment去實(shí)現(xiàn)。MySQL里沒有序列的對(duì)象。PGSQL和Oracle十分相似,支持序列:sequence。序列的正常構(gòu)建方式:

create sequence erdan.table_id_seq;
-- 查詢下一個(gè)值
select nextval('erdan.table_id_seq');
-- 查詢當(dāng)前值
select currval('erdan.table_id_seq');

序列大多數(shù)的應(yīng)用,是用作表的主鍵自增效果。

-- 表自增
create table erdan.xxx(id int8 default nextval('erdan.table_id_seq'),name varchar(16)
);
insert into erdan.xxx (name) values ('xxx');
select * from erdan.xxx;

PGSQL提供了序列的數(shù)據(jù)類型,可以在聲明表結(jié)構(gòu)時(shí),直接指定序列的類型即可。

  • smallserial
  • serial
  • bigserial
-- 表自增(爽)
create table erdan.yyy(id bigserial,   name varchar(16)
);
insert into erdan.yyy (name) values ('yyy');

在drop表之后,序列不會(huì)被刪除,但是序列會(huì)變?yōu)椴豢捎玫臓顟B(tài)。因?yàn)樾蛄性谑褂胹erial去構(gòu)建時(shí),會(huì)綁定到指定表的指定列上。如果是單獨(dú)構(gòu)建序列,再構(gòu)建表,使用傳統(tǒng)方式實(shí)現(xiàn),序列和表就是相對(duì)獨(dú)立的。

數(shù)值的常見操作

針對(duì)數(shù)值下面實(shí)現(xiàn)加減乘除取余這5個(gè)操作

操作符描述示例結(jié)果
^2 ^ 38
|/平方根|/ 366
@絕對(duì)值@ -55
&31 & 1616
|31|3263
<<左移1<<12
>>右移16>>18

數(shù)值操作也提供了一些函數(shù),比如pi(),round(數(shù)值,位數(shù)),floor(),ceil()

字符串類型

字符串類型用的是最多的一種,在PGSQL里,主要支持三種:

  • character(就是MySQL的char類型),定長(zhǎng)字符串。(最大可以存儲(chǔ)1G)
  • character varying(varchar),可變長(zhǎng)度的字符串。(最大可以存儲(chǔ)1G)
  • text(跟MySQL異常)長(zhǎng)度特別長(zhǎng)的字符串。

操作可以查看官方說明

日期類型

在PGSQL中,核心的時(shí)間類就三個(gè)。

  • timestamp(時(shí)間戳,覆蓋 年月日時(shí)分秒)
  • date(年月日)
  • time(時(shí)分秒)

在PGSQL中,聲明時(shí)間只需要使用字符串正常的編寫 yyyy-MM-dd HH:mm:ss 使用數(shù)據(jù)轉(zhuǎn)換方式就可以轉(zhuǎn)換為時(shí)間類型。

當(dāng)前系統(tǒng)時(shí)間

  • 可以使用now作為當(dāng)前系統(tǒng)時(shí)間(沒有時(shí)區(qū)的概念)
  select timestamp 'now';-- 直接查詢now,沒有時(shí)區(qū)的概念select time with time zone 'now' at time zone '08:00:00'
  • 也可以使用current_timestamp的方式獲取(推薦,默認(rèn)東八區(qū))

日期類型的運(yùn)算:

  • 正常對(duì)date類型做+,-操作,默認(rèn)單位就是天~
  • date + time = timestamp~~~
  select date '2011-11-11' + time '12:12:12' ;
  • 可以針對(duì)timestamp使用interval的方式進(jìn)行 +,-操作,在查詢以時(shí)間范圍為條件的內(nèi)容時(shí),可以使用
  select timestamp '2011-11-11 12:12:12' + interval '1day' + interval '1minute' + interval '1month';

枚舉類型

枚舉類型MySQL也支持,只是沒怎么用,PGSQL同樣支持這種數(shù)據(jù)類型。聲明枚舉類型作為表中的字段類型,這樣可以無形的給表字段追加規(guī)范。

-- 聲明一個(gè)星期的枚舉,值自然只有周一~周日。
create type week as enum ('Mon','Tues','Sun');
-- 聲明一張表,表中的某個(gè)字段的類型是上面聲明的枚舉。
drop table test;
create table test(id bigserial ,weekday week
);
insert into test (weekday) values ('Mon');
insert into test (weekday) values ('Fri');

image.png

IP類型

PGSQL支持IP類型的存儲(chǔ),支持IPv4,IPv6這種,甚至Mac那種詭異類型也支持。這種IP類型,可以在存儲(chǔ)IP時(shí),幫助做校驗(yàn),其次也可以針對(duì)IP做范圍查找。IP校驗(yàn)的效果如下:

image.png

IP也支持范圍查找:

image.png

JSON&JSONB類型

JSON在MySQL8.x中也做了支持,但是MySQL支持的不好,因?yàn)镴SON類型做查詢時(shí),基本無法給JSON字段做索引。PGSQL支持JSON類型以及JSONB類型,兩者使用基本沒區(qū)別。

JSON和JSONB的區(qū)別:

  • JSON類型無法構(gòu)建索引,JSONB類型可以創(chuàng)建索引。
  • JSON類型的數(shù)據(jù)中多余的空格會(huì)被存儲(chǔ)下來。JSONB會(huì)自動(dòng)取消多余的空格。
  • JSON類型甚至可以存儲(chǔ)重復(fù)的key,以最后一個(gè)為準(zhǔn)。JSONB不會(huì)保留多余的重復(fù)key(保留最后一個(gè))。
  • JSON會(huì)保留存儲(chǔ)時(shí)key的順序,JSONB不會(huì)保留原有順序。

JSON中key對(duì)應(yīng)的value的數(shù)據(jù)類型

JSONPGSQL
Stringtext
numbernumeric
booleanboolean
null(none)
[{"name": "張三"},{"name": {"info": "xxx"}}]

操作JSON:

  • 上述的四種JSON存儲(chǔ)的類型:
  select '9'::JSON,'null'::JSON,'"erdan"'::JSON,'true'::json;select '9'::JSONB,'null'::JSONB,'"erdan"'::JSONB,'true'::JSONB;
  • JSON數(shù)組
  select '[9,true,null,"我是字符串"]'::JSON;
  • JSON對(duì)象image.png
  select '{"name": "張三","age": 23,"birthday": "2011-11-11","gender": null}'::json;select '{"name": "張三","age": 23,"birthday": "2011-11-11","gender": null}'::jsonb;
  • 構(gòu)建表存儲(chǔ)JSON
  create table test(id bigserial,info json,infob jsonb);insert intotest(info,infob)   values ('{"name":            "張三"              ,"age": 23,"birthday": "2011-11-11","gender": null}','{"name":               "張三"             ,"age": 23,"birthday": "2011-11-11","gender": null}')select * from test;
  • 構(gòu)建索引的效果image.png
  create index json_index on test(info);create index jsonb_index on test(infob);

JSON還支持很多函數(shù),可以直接查看官方

復(fù)合類型

復(fù)合類型就好像Java中的一個(gè)對(duì)象,Java中有一個(gè)User,User和表做了一個(gè)映射,User中有個(gè)人信息對(duì)象??梢曰诜项愋蛯?duì)映射上個(gè)人信息。

public class User{private Integer id;private Info info;
}class Info{private String name;private Integer age;
}

按照上面的情況,將Info構(gòu)建成一個(gè)復(fù)合類型

-- 構(gòu)建復(fù)合類型,映射上Info
create type info_type as (name varchar(32),age int);
-- 構(gòu)建表,映射User
create table tb_user(id serial,info info_type
);
-- 添加數(shù)據(jù)
insert into tb_user (info) values (('張三',23));
insert into tb_user (info) values (('露絲',233));
insert into tb_user (info) values (('jack',33));
insert into tb_user (info) values (('李四',24));
select * from tb_user;

數(shù)組類型

PGSQL中,指定數(shù)組的方式就是[],可以指定一維數(shù)組,也支持二維甚至更多維數(shù)組。構(gòu)建數(shù)組的方式:

drop table test;
create table test(id serial,col1 int[],col2 int[2],col3 int[][]
);
-- 構(gòu)建表指定數(shù)組長(zhǎng)度后,并不是說數(shù)組內(nèi)容只有2的長(zhǎng)度,可以插入更多數(shù)據(jù)
-- 甚至在你插入數(shù)據(jù),如果將二維數(shù)組結(jié)構(gòu)的數(shù)組扔到一維數(shù)組上,也可以存儲(chǔ)。
-- 數(shù)組編寫方式
select '{{how,are},{are,you}}'::varchar[];
select array[[1,2],[3,4]];
insert into test (col1,col2,col3) values ('{1,2,3}','{4,5,6}','{7,8,9}');
insert into test (col1,col2,col3) values ('{1,2,3}','{4,5,6}',array[[1,2],[3,4]]);
insert into test (col1,col2,col3) values ('{1,2,3}','{4,5,6}','{{1,2},{3,4}}');
select * from test;

如果現(xiàn)在要存儲(chǔ)字符串?dāng)?shù)組,如果存儲(chǔ)的數(shù)組中有雙引號(hào)怎么辦,有大括號(hào)怎么辦。

-- 如果存儲(chǔ)的數(shù)組中的值,有單引號(hào)怎么辦?
-- 使用兩個(gè)單引號(hào),作為一個(gè)單引號(hào)使用
select '{''how''}'::varchar[];
-- 如果存儲(chǔ)的數(shù)組中的值,有逗號(hào)怎么辦?(PGSQL中的數(shù)組索引從1開始算,寫0也是從1開始算。)
-- 用雙引號(hào)將數(shù)組的數(shù)據(jù)包起來~
select ('{"how,are"}'::varchar[])[2];
-- 如果存儲(chǔ)的數(shù)組中的值,有雙引號(hào)怎么辦?
-- 如果要添加雙引號(hào),記得轉(zhuǎn)義。
select ('{"\"how\",are"}'::varchar[])[1];

數(shù)組的比較方式

-- 包含
select array[1,2] @> array[1];
-- 被包含
select array[1,2] <@ array[1,2,4];
-- 是否有相同元素
select array[2,4,4,45,1] && array[1];
http://www.risenshineclean.com/news/57660.html

相關(guān)文章:

  • 做燈箱片的設(shè)計(jì)網(wǎng)站站長(zhǎng)工具箱
  • 網(wǎng)站建設(shè)51jyoo360建網(wǎng)站
  • 競(jìng)價(jià)移動(dòng)網(wǎng)站b站網(wǎng)站推廣mmm
  • 怎樣用自己的電腦做網(wǎng)站seo在線培訓(xùn)機(jī)構(gòu)排名
  • 創(chuàng)意網(wǎng)站品牌營(yíng)銷經(jīng)典案例
  • 在線制作名片生成器嘉興優(yōu)化公司
  • 滎陽(yáng)市網(wǎng)站優(yōu)化是做什么的
  • 懶懶淘客怎么做自己的網(wǎng)站優(yōu)化設(shè)計(jì)英語
  • 沒有空間可以做網(wǎng)站嗎seo優(yōu)化是指
  • 網(wǎng)站建設(shè) 啟象科技網(wǎng)絡(luò)輿情優(yōu)化公司
  • 凡科建設(shè)網(wǎng)站步驟友鏈交換不限內(nèi)容
  • 天河區(qū)pc端網(wǎng)站建設(shè)廣州權(quán)威發(fā)布
  • 靜安網(wǎng)站開發(fā)推廣方案流程
  • 編程常用網(wǎng)站項(xiàng)目推廣計(jì)劃書
  • 民房做酒店出租網(wǎng)站app南寧seo推廣外包
  • 做購(gòu)物網(wǎng)站寫數(shù)據(jù)庫(kù)的流程天津seo推廣
  • 蘭州網(wǎng)站分類導(dǎo)航seo北京公司
  • 建設(shè)閱讀網(wǎng)站的研究意義武漢網(wǎng)站排名提升
  • 廈門php網(wǎng)站建設(shè)無排名優(yōu)化
  • 網(wǎng)站制作服務(wù)合同seo學(xué)習(xí)
  • wordpress做論壇網(wǎng)站百度指數(shù)網(wǎng)址是多少
  • 北京做網(wǎng)站企業(yè)友情鏈接源碼
  • 網(wǎng)站建設(shè)的詳細(xì)步驟電子商務(wù)網(wǎng)頁(yè)制作
  • 做網(wǎng)站大概要多少錢微商營(yíng)銷
  • 長(zhǎng)沙響應(yīng)式網(wǎng)站設(shè)計(jì)有哪些優(yōu)化營(yíng)商環(huán)境發(fā)言材料
  • win7本機(jī)做網(wǎng)站微信朋友圈廣告在哪里做
  • 做鋼化膜網(wǎng)站長(zhǎng)沙seo優(yōu)化
  • 大連裝修公司哪家口碑最好深圳搜索引擎優(yōu)化收費(fèi)
  • 知道ip域名如何進(jìn)入網(wǎng)站如何推廣一款app
  • 愛潤(rùn)妍網(wǎng)站開發(fā)河南企業(yè)網(wǎng)站推廣