5.3. 表

简介:


5.3.1. 默认时间与时区

默认时间省略时区信息

			
CREATE TABLE message
(
  id serial NOT NULL,
  title character varying(250) NOT NULL,
  message character varying(250) NOT NULL,
  status boolean NOT NULL DEFAULT false,
  operator character varying(5) NOT NULL,
  ctime timestamp without time zone NOT NULL DEFAULT (now())::timestamp(0) without time zone,
  mtime timestamp without time zone NOT NULL DEFAULT (now())::timestamp(0) without time zone,
  CONSTRAINT message_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
			
			

5.3.2. 汉字做字段名

			
PostgreSQL是支持“区域”,“字符集支持”的,允许你使用本区域的字符集做为字段名。但要注意,你的终端要支持该字符集支持。我这里使用UNICODE,EUC_CN也适用。

Create table "组"(
       "序号" Serial NOT NULL UNIQUE,
       "组名" Varchar(20) NOT NULL,
       "描述" Varchar(255),
       UNIQUE ("组名"),
      PRIMARY KEY ("序号")
);

创建表:
member=> Create table "组"(
member(> "序号" Serial NOT NULL UNIQUE,
member(> "组名" Varchar(20) NOT NULL,
member(> "描述" Varchar(255),
member(> UNIQUE ("组名"),
member(>  PRIMARY KEY ("序号")
member(> );
NOTICE:  CREATE TABLE will create implicit sequence '组_序号_seq' for SERIAL column '组.序号'
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index '组_pkey' for table '组'
NOTICE:  CREATE TABLE / UNIQUE will create implicit index '组_组名_key' for table '组'
CREATE TABLE
member=> \d
               List of relations
 Schema |        Name        |   Type   | Owner
--------+--------------------+----------+-------
 public | group              | table    | chen
 public | group_id_seq       | sequence | chen
 public | groupmember        | table    | chen
 public | groupmember_id_seq | sequence | chen
 public | role               | table    | chen
 public | role_id_seq        | sequence | chen
 public | rolemember         | table    | chen
 public | rolemember_id_seq  | sequence | chen
 public | system_log         | table    | chen
 public | system_log_id_seq  | sequence | chen
 public | trust              | table    | chen
 public | trust_id_seq       | sequence | chen
 public | user               | table    | chen
 public | user_id_seq        | sequence | chen
 public | user_log           | table    | chen
 public | user_log_id_seq    | sequence | chen
 public | userinfo           | table    | chen
 public | userinfo_id_seq    | sequence | chen
 public | vgroup             | view     | chen
 public | vgroupmember       | view     | chen
 public | vsystem_log        | view     | chen
 public | vuser              | view     | chen
 public | 组                | table    | chen
 public | 组_序号_seq     | sequence | chen
(24 rows)

查看表结构:

member=> \d 组
                                     Table "public.组"
 Column |          Type          |                         Modifiers
--------+------------------------+-----------------------------------------------------------
 序号 | integer                | not null default nextval('public."组_序号_seq"'::text)
 组名 | character varying(20)  | not null
 描述 | character varying(255) |
Indexes: 组_pkey primary key btree ("序号"),
         组_组名_key unique btree ("组名")

插入数据:
member=> insert into 组(组名,描述) values('域用户','9812.net域内用户');
INSERT 110971 1
member=> insert into "组"("组名","描述") values('域用户','9812.net域内用户');
ERROR:  Cannot insert a duplicate key into unique index 组_组名_key
member=> insert into "组"("组名","描述") values('计算机维护组','维护计算机的用户用户');
INSERT 110973 1

查看数据:
member=> select * from 组;
 序号 |       组名       |             描述
--------+--------------------+--------------------------------
      1 | 域用户          | 9812.net域内用户
      3 | 计算机维护组 | 维护计算机的用户用户
(2 rows)
member=> select * from "组";
 序号 |       组名       |             描述
--------+--------------------+--------------------------------
      1 | 域用户          | 9812.net域内用户
      3 | 计算机维护组 | 维护计算机的用户用户
(2 rows)

注:在操作非英文字段的表时。建议最好前,后加上“"”,“"”符号。并非所有API都支持非英文的编码。
			
			




原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

目录
相关文章
|
4月前
|
搜索推荐
舒尔特表练习记
舒尔特表练习记 1 练习的开始
35 0
|
5月前
|
数据建模 Java 数据库
PowerDesigner使用之为表中字段添加索引
PowerDesigner使用之为表中字段添加索引
84 1
|
5月前
|
Oracle 关系型数据库 MySQL
根据一张表更新另一张表
根据一张表更新另一张表
|
12月前
|
消息中间件 安全 Dubbo
程序员健康作息表
程序员健康作息表
|
SQL 关系型数据库 MySQL
mysql ,如何将B表的字段f 作为A表的主键s的外键?
假设您已经有两个表A和B,且它们都已经有字段,其中A表的主键为s,B表中的字段为f。要将B表的字段f作为A表的主键s的外键,可以使用以下的 SQL 语句来实现:
|
存储 索引
各种表
符号表 opcode代码中的操作数都是一个符号表中的索引, 在符号表中存储的是字符串, 方法名, 变量名, 变量值, 让虚拟机通过索引在符号表中获取真正的参数 字母表 在我们定义的脚本语言风格中用到的所有不可以再分的符号放到字母表中, 通过字母表中的单个字符组合出各式各样的单词
720 0
|
关系型数据库
|
索引 Perl 存储