數(shù)據(jù)庫postgresql區(qū)分大小寫,在使用可視化
軟件操作該數(shù)據(jù)庫時(shí),一定注意大小寫,關(guān)鍵
字段,一定要使用雙引號(hào)。(包括在開發(fā)軟件中)
使用psql命令行登錄數(shù)據(jù)庫需要一些參數(shù),
如psql -h localhost -U postgres -的postgres -p 5432,
如果在dos下直接使用psql無需另帶參數(shù)時(shí),需要添加幾個(gè)環(huán)境變量,
PGHOST=localhost
PGPORT=5432
PGUSER=postgres
這樣配置后直接使用psql后只需要輸入密碼就可以了。
————————————————————————————————
在windows的dos窗口連接數(shù)據(jù)庫, 默認(rèn)的用戶和數(shù)據(jù)庫是postgres
psql -U user -d dbname
1.新建數(shù)據(jù)庫
create database 數(shù)據(jù)庫名;
2.查詢數(shù)據(jù)庫(或者說列舉數(shù)據(jù)庫,相當(dāng)于mysql的“show databases;")
\l
3.切換數(shù)據(jù)庫,相當(dāng)于mysql的“use 數(shù)據(jù)庫名;”
\c 數(shù)據(jù)庫名;
4.刪除數(shù)據(jù)庫
drop database [數(shù)據(jù)庫名];
5.創(chuàng)建一個(gè)表
create table mytable3(
id serial primary key,
username text,
password text,
age integer,
birthday date,
computerBrand text,
computerPrice numeric,
recordAutoDate timestamptz
);
(numeric類型能夠存儲(chǔ)小數(shù)部分,典型的例子是金額。)
(timestamptz時(shí)間日期,包括時(shí)區(qū))(text是變長(zhǎng)字符串)
(serial自動(dòng)增長(zhǎng)的4字節(jié)整數(shù))(integer是有符號(hào)4字節(jié)整數(shù),簡(jiǎn)寫int或int4)
(smallint是有符號(hào)兩字節(jié)整數(shù),簡(jiǎn)寫int2)
(text變長(zhǎng)字符串)(varchar變長(zhǎng)字符串)(char是定長(zhǎng)字符串)
6.列舉表,相當(dāng)于mysql的show tables
\dt
7.刪除一個(gè)表:
drop table [表名];
8.重命名一個(gè)表:
alter table [old表名] rename to [new表名];
9.查看表結(jié)構(gòu),相當(dāng)于desc tblname,show columns from tbname
\d 表名;
10.\di 查看索引
11.在已有的表里添加字段:
alter table [表名] add column [字段名] [類型];
alter table mytable4 add column password varchar(100);
12.刪除表中的字段:
alter table [表名] drop column [字段名];
13.修改表列屬性
alter table 表名 alter 列名 type 類型名(350)
alter table mytable1 alter id type serial;
14.給表中一個(gè)字段設(shè)置缺省值:
alter table [表名] alter column [字段名] set default [新的默認(rèn)值];
alter table mytable1 alter column recordAutoDate set default now();
15.去除缺省值:
alter table [表名] alter column [字段名] drop default;
16.在表中插入數(shù)據(jù):
insert into 表名
([字段名1],[字段名2],......)
values
([字段1的值],[字段2的值],......);
17.修改表中的某行某列的數(shù)據(jù):
update [表名] set [目標(biāo)字段名]=[目標(biāo)值] where [條件];
update mytable4 set password='123qaz' where id=10;
update mytable4 set password='456wsx' where id=11;
18.刪除表中某行數(shù)據(jù):
delete from [表名] where [條件];
19.[字元編碼名稱]
\encoding
20. 顯示 PostgreSQL 的使用和發(fā)行條款
\copyright
21.[文本] 名稱提示用戶設(shè)定內(nèi)部變數(shù)
\prompt
22.securely change the password for a user
\password [USERNAME]
23.退出 psql
\q
24.SQL 命令語法上的說明,用 * 顯示全部命令
\h [名稱]
25.#橫縱顯示切換
\x
26.#顯示執(zhí)行時(shí)間
\timing
27.創(chuàng)建一個(gè)表結(jié)構(gòu)一樣的表
方法一:create table b(like tablea including all)
方法二:create table b as select * from a where 1=2
創(chuàng)建一個(gè)表結(jié)構(gòu)一樣,并插入已有的數(shù)據(jù)
create table b as select * from tablea
28.插入數(shù)據(jù)
insert into mytable3
(id,username,password,age,birthday,computerBrand,computerprice)
values
(1,'阿毛','123qaz',18,'2019-08-08','huawei',1999.9);
insert into mytable3
(username,password,age,birthday,computerBrand,computerprice)
values
('阿仨','456wsx',19,'2018-08-08','honor',2009.9);
29.創(chuàng)建一個(gè)表
create table mytable1(
id serial primary key,
username text,
password text,
age integer,
birthday date,
computerBrand text,
computerPrice numeric,
recordAutoDate timestamptz
);
create table mytable3(
id serial primary key,
username text,
password text,
age integer,
birthday date,
computerBrand text,
computerPrice numeric,
recordAutoDate varchar(40) DEFAULT(now())
);
30.修改數(shù)據(jù)
update mytable1 set recordAutoDate=now() where id=1;
31.修改字段屬性或類型
alter table 表名 ALTER column 列數(shù) varchar(100);
ALTER TABLE tbl_name ALTER COLUMN col_name TYPE varchar (11);
alter table 表名 alter column 字段名 type 類型名;
alter table mytable1 alter column recordAutoDate type varchar(40);
create table mytable2(
id serial primary key,
username text,
recordAutoDate varchar(40) DEFAULT(now())
);
insert into mytable2
(id,username)
values
(1,'阿貓');
聯(lián)系客服