新建表sql语句

新建表sql语句一、新建表新建学生表(student):createtablestudent(idintnotnull,namevarchar2(50),sexvarchar2(25),birthdayvarchar2(225),createtimetimestamp,primarykey(id));给表和字段添加注释:commentonta

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、新建表
新建学生表(student):

create table student
(
id int not null,
name varchar2(50),
sex varchar2(25),
birthday varchar2(225),
createtime timestamp,
primary key(id),
t_id int FOREIGN KEY REFERENCES teacher(t_id)           //一个外键
);

<!--可建立联合主键,例如primary key(id,name),这样id和name都是主键,且id不允许重复,name也不允许重复。-->

给表添加主键、外键:

<!--为没有添加主键的表添加主键,这里是复合主键的例子-->
ALTER TABLE student ADD CONSTRAINT pk_studentid PRIMARY KEY (id,name)
<!--为已经添加“有名字的”主键的表删除主键,这里删除的名为pk_studentid的主键-->
ALTER TABLE student DROP CONSTRAINT pk_studentid

<!--为没有添加外键的表添加外键,这里是添加多个外键的例子-->
ALTER TABLE student ADD CONSTRAINT fk_students FOREIGN KEY (t_id) REFERENCES teachers(t_id)
<!--为已经添加“有名字的”外键的表删除外键,这里删除的名为fk_students的外键-->
ALTER TABLE student DROP CONSTRAINT fk_students

给表和字段添加注释:

<!--给表添加注释-->
comment on table student is '学生基本信息';
<!--给表中字段添加注释-->
comment on column student.birthday is '出生日期';

建立自增序列sequence(可选):

CREATE SEQUENCE student_sequence
      increment by 1    -- 每次递增1
      start with 1       -- 从1开始
      nomaxvalue      -- 没有最大值
      minvalue 1       -- 最小值=1
      NOCYCLE      -- 不循环

建立触发器trigger(可选):

CREATE OR REPLACE TRIGGER BeforeStudentInsert BEFORE INSERT ON student FOR EACH ROW BEGIN SELECT student_sequence.nextval INTO :new.id FROM dual;
END;

二、对表的修改
1.给表重命名
语法:alter table table_name rename to new_table_name;
例子:alter table student rename to new_student;
2.给表添加字段
语法:alter table tablename add (column datatype [default value][null/not null],….);
例子: alter table student add (teachername varchar2(30) default ‘张三’ not null);
3.修改表字段
语法:alter table tablename modify (column datatype [default value][null/not null],….);
例子:alter table student modify (teachername varchar2(30) default ‘张三’ not null);
4.删除表字段
语法:alter table tablename drop (column);
或者alter table tablename drop column column_name
例子:alter table student drop column teachername;
5.主键约束
添加有名称的主键约束:alter table table_name add constraint pk_name primary key (id);
删除有名称的主键约束:alter table table_name drop constraint pk_name;
6.修改表字段类型
例子:alter table student alter column birthday decimal(18, 4) not null

三、简单的sql语句(增删改查)

1.插入(insert)
向Student表中插入一条数据:

语法:insert into 表名称 values (值1,值2,······) 例子:insert into Student values (1,'zhangsan','男','1992-01-01')

2.删除(delete)
(1)删除特定条件的数据

语法:DELETE FROM 表名称 WHERE 列名称 = 值 例子:delete from Student where name ='zhangsan'

(2)删除表中全部数据

语法:DELETE FROM 表名称 例子:delete from Student

(3)清空表数据:

语法:TRUNCATE TABLE 表名称
例子:truncate table tb            <!-- 只清空表中数据,但是保留表 -->

(4)删除表:

语法:DROP TABLE 表名称
例子:drop table Student           <!-- drop会连表一起删除 -->

3.更新(update)

语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 例子:update Student set name = 'lisi',sex='男' where id=1

4.查询
(1)查询表中所有数据

语法: select * from 表名
例子: select * from Student

(2)查询表中满足某条件的数据

语法:SELECT * FROM 表名称 WHERE 列 运算符 值 AND 列 运算符 值 例子:select * from Student where sex= '男' and name='lisi' 

(3)模糊查询

语法:SELECTFROM 表名称 WHERELIKE 值 例子:SELECT * FROM Student WHERE name LIKE 'li'

(4)去除查询结果中的重复值
用distinct可以去处重复值,保留相同值,加到查询内容的前面做修饰。
例子:SELECT distinct name FROM Student <!-- 这会去除重复的名字,只保留一条重复的数据显示 -->
(5)查询结果排序
升序:

select * FROM student ORDER BY id                       <!--order by 默认是升序-->

降序:

select * FROM Student ORDER BY id DESC                  <!--在后面加desc则排序规则是降序-->
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181242.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓的shell命令_android执行linux命令

    安卓的shell命令_android执行linux命令adbdevices查询电脑已连接的设备adbshellpmlistpackages列出目标设备中已安装的应用程序包adbshellpmlistpackages-f列出目标设备中已安装的应用程序包的具体位置adbuninstallxxx卸载或删除的应用包xxxadbpull/data/app/com.tencent.tbs-1/base…

    2022年10月10日
    0
  • PS2手柄通讯协议解析—附资料和源码「建议收藏」

    PS2手柄通讯协议解析—附资料和源码「建议收藏」文章目录一.PS2介绍二.PS2通讯协议介绍一.PS2介绍今天就带大家来认识一下PS2的通讯协议,如果你需要用PS2无线手柄搭配单面机来DIY制作,那么千万别错过这篇文章。首先介绍一下我们今天的主角–PS2手柄。PS2手柄是日本SONY公司的PlayStation2游戏机的遥控手柄。索尼的PSX系列游戏主机在全球都很畅销。不知什么时候便有人打起PS2手柄的主意,破解了通讯协议,使…

    2022年4月27日
    128
  • VSCODE 打造完美java开发环境「建议收藏」

    VSCODE 打造完美java开发环境「建议收藏」vscodeJava开发环境配置(此博客已更新,之前的排版不利于阅读)使用vscode后,你可能无法忍受eclipse:)最后更新时间:2018-07-01(博客地址)系统需安装jdk1.8,配置好环境变量JAVA_HOME打开vscode,安装java相关插件LanguagesupportforJava™forVisualStud…

    2022年7月20日
    13
  • 转:MFC之COleVariant[通俗易懂]

    转:MFC之COleVariant[通俗易懂]COleVariant本质上是一个枚举,用同一种类型来表达不同的子类型。如同boost中的variant。例子[cpp]viewplaincopyCOleVariantvar(3.6f);floatv=var.fltVal;CStringstr(“testCOleVariant”);COleVariantvar2(st…

    2022年7月18日
    11
  • 图书馆管理系统UML各种图「建议收藏」

    图书馆管理系统UML各种图「建议收藏」1用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。  【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。  用例图所包含的元素如下:actor、usecase、子系统、四中关系(如下:)如下是图书管理系统中管理员用例图:

    2022年10月22日
    0
  • Time Wait的作用、原因、影响和如何避免

    Time Wait的作用、原因、影响和如何避免TIME_WAIT示例图:1、time_wait的作用:TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止  在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(…

    2022年6月7日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号