新建表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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一款完整的多用户微信公众平台开发源码,带文档免费分享「建议收藏」

    一款完整的多用户微信公众平台开发源码,带文档免费分享「建议收藏」一款集前端展示+用户中心+商家管理系统合三为一的商业强大平台。前端分为首页、产品介绍、注册用户、秒杀、成功案例、联系我们六大模块。

    2025年8月21日
    6
  • docker部署web项目_小钢炮docker安装web

    docker部署web项目_小钢炮docker安装web前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

    2022年7月30日
    10
  • 浅谈SQL游标

    浅谈SQL游标
    游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。游标允许你选择一组数据,通过翻阅这组数据记录——通常被称为数据集,检查每一个游标所在的特定的行。你可以将游标和局部变量组合在一起对每一个记录进行检查,当游标移动到下一个记录时,来执行一些外部操作。游标的另一个常见的用法是:保存查询结果以备以后使用。一个游标结果集是通过执

    2022年7月12日
    28
  • 一级域名和二级域名的区别是什么?作用怎样?

    一级域名和二级域名的区别是什么?作用怎样?

    2021年9月20日
    75
  • XGBoost简介

    XGBoost简介本文据此对XGBoost的原理做简单的介绍…XGBoost[1]是2014年2月诞生的专注于梯度提升算法的机器学习函数库,此函数库因其优良的学习效果以及高效的训练速度而获得广泛的关注。仅在2015年,在Kaggle[2]竞赛中获胜的29个算法中,有17个使用了XGBoost库,而作为对比,近年大热的深度神经网络方法,这一数据则是11个。在KDDCup2015[3]竞赛中,排

    2022年6月1日
    105
  • html5里的空心圆柱体,容积及空心圆柱体积.doc[通俗易懂]

    html5里的空心圆柱体,容积及空心圆柱体积.doc[通俗易懂]容积及空心圆柱体积高碑店中心小学段玉红教学目标:1、在巩固圆柱体积的计算公式的基础上,通过对实物的观察认识空心圆柱体(套管),知道各部分名称及之间的关系,掌握套管体积的计算公式。能正确计算套管的体积。2、在研究套管体积计算方法过程中,发现形体之间的关系,引导学生用原有知识解决新问题。培养学生知识迁移的能力。3、通过对计算体积方法的对比,体会有效提高计算正确率的最佳方法,进一步提高学生计算能力…

    2025年12月1日
    4

发表回复

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

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