CREATE TABLE IF NOT EXISTS demo_table
(
tinyint_col TINYINT, -- -128到127
int_col INT, -- -2147483648到2147483647
bigint_col BIGINT, -- -9223372036854775808到9223372036854775807
float_col FLOAT,
double_col DOUBLE,
char_col CHAR(n), -- 定长字符,n代表设定的定长字符长度,默认不写(n)则为1
varchar_col VARCHAR, -- 有限变长字符,在MySQL中这里的`n`是必须设定的,而PostgreSQL中可以不写n
text_col TEXT, -- 无限变长字符
longtext_col LONGTEXT, -- ,MySQL中存储范围最大的无长度限制变长字符
bool_col TINYINT, -- MySQL中没有真正的布尔类型,可以使用1\0代替
boolean_col BOOLEAN, -- PostgreSQL中含有,true\false
);
查看详情:
https://www.runoob.com/mysql/mysql-data-types.html
https://www.runoob.com/postgresql/postgresql-data-type.html
CREATE TABLE 表名
(
字段1 数据类型 列级别约束条件,
字段2 数据类型 列级别约束条件,
... ...
字段n 数据类型 列级别约束条件
表级别约束条件
);
CREATE TABLE IF NOT EXISTS limit_demo
(
col1 TEXT NOT NULL, -- 非空约束
col2 VARCHAR(4) DEFAULT 'default_value',
col3 INT DEFAULT 0, -- 默认值
uid INT PRIMARY KEY, -- 单字段主键
PRIMARY KEY(col1, col2, col3), -- 多字段主键
uid2 INT UNIQUE, -- 非主键唯一性约束
idx INT PRIMARY KEY AUTO_INCREMENT, -- 自增字段,默认从1开始;可以指定值,后续值会在该次指定值的基础上自增
# PostgreSQL内的自增
id1 SMALLSERIAL PRIMARY KEY, -- 1到32767内自增
id2 SERIAL PRIMARY KEY, -- 1到2147483647内自增
id3 BIGSERIAL PRIMARY KEY, -- 1到9223372036854775807内自增
);
INSERT INTO 表名(字段1, 字段2, ..., 字段n)
VALUES(字段1值1, 字段2值1, ..., 字段n值1), ..., (字段1值m, 字段2值m, ..., 字段n值m);
# 插入完整的行记录
-- 创建示例表
CREATE TABLE insert_demo1
(
col1 INT,
col2 CHAR(4),
col3 FLOAT
);
-- 插入几行示例数据
INSERT INTO insert_demo1 VALUES
(1, '测试1', 1.1), (2, '测试2', 2.2); -- `表名`后的`(字段1, 字段2, ..., 字段n) `可以省略,前提是`VALUES`后衔接的单个或多个元组中,每个元组中都按顺序对应每个字段的当前行记录值
# 指定部分字段进行插入
-- 创建示例表
CREATE TABLE insert_demo2
(
col1 INT PRIMARY KEY AUTO_INCREMENT,
col2 CHAR(4) DEFAULT '无',
col3 FLOAT,
col4 TEXT
);
INSERT INTO insert_demo2(col3, col4) VALUES
(1.1, '测试数据1'), (1.2, '测试数据2'); -- 触发缺失值、默认值填充,主键自增等约束
CREATE TABLE flights
(
year INT,
month CHAR(3),
passengers INT,
PRIMARY KEY (year, month)
);
Import Data from File
——选择文件