进入路径:
c:\PostgreSQL\9.6\bin\psql.exe -U postgres
注:口令以光标的形式闪烁,但并不会显示出来。
输入命令:
SELECT 1;
";"是SQL的结束符,如果没有输入的话,即使按下回车键,SQL也不会执行。
创建数据库的SQL语句(数据库名称只能使用小写字母)
CREATE DATABASE shop;
结束psql
输入\q
,然后按下回车键,就切断了与postgreSQL的连接
为了连接刚创建的数据库,需要暂时结束psql,直接X掉窗口即可关闭
连接学习用数据库(登录)
执行命令,登录数据库“shop",输入:
c:\PostgreSQL\9.6\bin\psql.exe -U postgres -d shop
其中"-d shop "是指定“数据库shop”的意思。
SQL的基本书写规则
- SQL语句要以分号( ; )结尾。
- SQL语句不区分大小写
为了易于理解:. 关键字要大写;表名的首字母大写;其余(列名等)小写
- 字符串和日期常数需要使用单引号( ' )括起来。数字常数无需加注,直接书写即可
例如:'abc', 1000
- 单词需要用半角空格或者换行来分隔
例如: CREATE TABLE Product
表的创建(CREATE DATABASE语句)
CREATE DATABASE <数据库名称>;
注:数据库名称、表名及列名都要使用半角字符(英文字母、数字、符号)
Product表的数据类型及列的约束:
命名规则:
只能使用半角英文字母、数字、下划线( _ )作为数据库、表和列的名称
例如:不能将product_id 写成 product-id 。¥、#、?也不能作为名称使用
所有的列都必须指定数据类型:数字型、字符型、日期型
INTEGER型:整数(数字型),不能存储小数
CHAR型:字符型。 CHAR(10)或者CHAR(200),括号中指定的是字符串的最大长度
---
数据库中表的创建
使用命令:
CREATE TABLE Product
然后在表中创建内容:
shop-# (product_id CHAR(4) NOTNULL,
shop(# product_name VARCHAR(100) NOTNULL,
shop(# product_type VARCHAR(32) NOTNULL,
shop(# sale_price INTEGER ,
shop(# purchase_price INTEGER ,
shop(# regist_date DATE ,
shop(# PRIMARYKEY (product_id));
显示创建表(Product)成功
添加新的列项
shop=# ALTER TABLE Product ADD COLUMN Product_name_pinyin VARCHAR(100);
删除列项
shop=# ALTER TABLE Product DROP COLUMN Product_name_pinyin;
操作的图示:
然后输入:
\d shop
修改表名,然后显示新的表结构:
ALTER TABLE Product RENAME TO Productbk;
示例:
向表中插入内容:
shop=# BEGIN TRANSACTION;
开头的 BEGIN TRANSACTION 语句是开始插入行的指令语句,
shop=# INSERT INTO Product VALUES ('0001', 'T恤衫', '衣服',
shop=(#1000, 500, '2009-09-20');
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0002', '打孔器', '办公用品',
shop(# 500, 320, '2009-09-11');
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0003', '运动T恤', '衣服',
shop(# 4000, 2800, NULL);
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0004', '菜刀', '厨房用具',
shop(# 3000, 2800, '2009-09-20');
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0005', '高压锅', '厨房用具',
shop(# 6800, 5000, '2009-01-15');
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0006', '叉子', '厨房用具',
shop(# 500, NULL, '2009-09-20');
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0007', '擦菜板', '厨房用具',
shop(# 880, 790, '2008-04-28');
INSERT 0 1
shop=# INSERT INTO Product VALUES ('0008', '圆珠笔', '办公用品',
shop(# 100, NULL,'2009-11-11');
INSERT 0 1
然后输入
shop=# COMMIT;
(确定插入行的意思)
在MySQL中时,需要将 BEGIN TRANSACTION; 改写成 START TRANSACTION;
在Oracle和DB2中运行时,无需使用BEGIN TRANSACTION;(请予以
删除)。
第一章练习题:
1.1编写一条CREATE TABLE语句,创建一个包含表1-A中所列各项的Addressbook(地址薄),
交将regist_no (注册编号)列设置为主键约束
答案: