新建表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则排序规则是降序-->
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux查看80端口占用情况_centos如何查看端口是否被占用

    linux查看80端口占用情况_centos如何查看端口是否被占用前言平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种Linux查看端口占用情况可以使用lsof和netstat命令。1.lsof-i:端口号用

  • Apache .htaccess规则RewriteCond 和RewriteRule-实操解释说明

    Apache .htaccess规则RewriteCond 和RewriteRule-实操解释说明如果你在看的时候有些迷惑,或许你需要配合下面这篇文章一起看《Apache.htaccess规则说明》https://blog.csdn.net/cplvfx/article/details/94725685该文章转自https://justcoding.iteye.com/blog/547384RewriteCond重写规则的条件RewriteCondSyntax:…

  • 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length

    给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length

  • blender2.9教程_赖世雄入门篇

    blender2.9教程_赖世雄入门篇Blender2.8基础(一)基础操作与常用快捷键▶Ctrl+N:创建新工程一、视图操作1、放大视图▶视图最大化显示:Ctrl+空格(左键点击视图任意地方可以选择视图,然后按Ctrl+空格可以最大化显示视图。)▶切换全屏模式:Ctrl+Alt+空格2、切换视图▶切换视图:Alt(按住不放)+按住中键上下或左右移动鼠标(每切换一次视图就必须重新按一下中键并移动鼠标)▶……

  • Apache Axis_apache spark介绍

    Apache Axis_apache spark介绍       遇到这个异常懵逼了很长时间才解决,axis2框架个人感觉进行接口相互调用还是比较麻烦的,调了很长时间,我由a项目调用b项目的接口时,一直报这个错,在网上找了很长时间,也没找到解决的办法,自己慢慢的调的过程中得以解决,现在总结一下。1.异常展示:org.apache.axis2.AxisFault:unknownatorg.apache.axis2.util….

  • 为什么从Java开发转测试?

    为什么从Java开发转测试?前言很多粉丝关注我可能是从乐优商城项目关注的,这确实是我曝光度最高的一篇blog了包括现在新增的粉丝的话也是从乐优商城项目blog关注的ps:大家有询问我要源码,我以前是有上传到github上的,但是由于里面用到了阿里云,github天天给我发邮件报警说有风险,然后我就删除了,所以源码的话,现在是没有了的但是我觉得乐优商城过于大,用的技术栈也很多,如果面试的时候不能充分讲明白的话,尽量不要用这个项目去面试大家如果要用他面试的话可以从以下几个思路去讲1、整体是一个什么项目?主体业务流程是什么

发表回复

您的电子邮箱地址不会被公开。

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