zoukankan      html  css  js  c++  java
  • SQL

    初学SQL做一些简单的语句记录

    (1)创建数据库

    create database test

    (2)创建表

    create table member(
        id serial not null,
        phone text not null default '', 
        create_time bigint not null default date_part('epoch', now())
    )
    create table orders (
        id serial not null,
        serial_number text not null,
        member_id int not null, 
        constraint  pk_orders_id primary key(id),
        constraint ix_orders_serial_number unique(serial_number)
    )

    说明: 如果在已有的表里在添加字段

    alter table member add column name text not null

    添加已有字段的约束(主 外 唯一)

    alter table member add constraint pk_member_id primary key(id) -- 主键
    
    alter table orders add constraint fk_orders_member_id foreign key(member_id) references member (id) -- 外键
    
    alter table member add constraint ix_member_phone unique(phone) -- 唯一

    修改字段 删除字段不可空约束

    alter table member alter column name drop not null

    设置字段不可空

    alter table member alter column name set not null

    修改字段名称

    alter table member rename column name to member_name

    修改约束名字

    alter table member rename constraint ix_member_phone to ix_member_phone1

    删除字段约束

    alter table table-name drop constraint name -- tablename 表名   name 约束名

     删除字段

    alter table table_name drop column column_name   ---table_name 表名  column_name -- 字段名称

    修改表名

    alter table member rename to member1

    修改数据库名(需要断开当前数据库的连接)

    alter database test rename to test1

    (3)创建视图

    create view va_member_orders as  
    select b.*,a.phone as member_phone
    from member a join orders b on b.member_id = a.id

    (4)清空数据表

    truncate table table-name -- table-name 表名

      清空数据表级相关联的表

    truncate table table-name cascade -- table-name 表名

    (5)修改某个表的序列从1开始

    alter sequence serail-name  restart with 1 -- serail-name 序列表名

    注意

    1. join (inner join) 内连接 查出满足on条件的数据

    2. left join 以左表为基础,查出满足on条件的数据, 如果on条件不满足右表数据字段为空

    3. right join 以右表为基础,查出满足on条件的数据,如果on条件不满足左表数据字段为空

    4. outer join 外链接  

    另外说明 查询数据库 中的count 和 sum 的时候数据有可能为空需要加上

    COALESCE (COUNT(id), 0)
    COALESCE(SUM (count), 0)
  • 相关阅读:
    由前序和中序遍历结果构建二叉树
    Java学习笔记数组与ArrayList
    Java学习笔记字符串
    Java学习笔记关于默认类型或访问权限的总结
    javascript学习笔记之事件和事件处理
    2010年2月1日学习笔记
    Web.config保存整个站点的设置
    ANT的十五大最佳实践
    配置ajaxToolkit的方法【转】
    Java学习笔记Iterator迭代器(Ps.instanceof的用法)
  • 原文地址:https://www.cnblogs.com/ljmaque/p/6093096.html
Copyright © 2011-2022 走看看