sql多表查询语句命令(mysql修改表数据语句)

   2023-03-18 互联网0
核心提示:例如:按照department_id查询employees(员工表)和departments(部门表) 的信息。 方式一(通用型):SELECt … FROM … WHERe SELECt e.last_name,e.department_

sql多表查询语句命令(mysql修改表数据语句)

例如:按照department_id查询employees(员工表)和departments(部门表)

的信息。

方式一(通用型):SELECt … FROM … WHERe

SELECt e.last_name,e.department_id,d.department_name

FROM employees e,departments d

where e.department_id = d.department_id

方式二:SELECt … FROM … NATURAL JOIN …

有局限性:会自动连接两个表中相同的列(可能有多个:department_id和manager_id)

SELECt last_name,department_id,department_name

FROM employees

NATURAL JOIN departments

方式三:SELECt … JOIN … USING …

有局限性:好于方式二,但若多表的连接列列名不同,此法不合适

SELECt last_name,department_id,department_name

FROM employees

JOIN departments

USING(department_id)

方式四:SELECt … FROM … JOIN … ON …

常用方式,较方式一,更易实现外联接(左、右、满)

SELECt last_name,e.department_id,department_name

FROM employees e

JOIN departments d

ON e.department_id = d.department_id

–内连接

1)

–等值连接

–不等值连接

2)

–非自连接

–自连接

–外连接

–左外连接、右外连接、满外连接

创建和管理表(DDL)

CRAETE TABLE /TRUNCATE TABLE /ALTER TABLE /REANME…TO/DROp TABLE ..操作完以后,自动commit;所以,rollback对其操作,没有效果

1.创建表

1)直接创建

create table emp1(

name varchar2(20),

salary number(8,2)default 1000,

id number(4),

hire_date date

);

2)通过子查询的方式创建

create table emp2

as

select last_name name,employee_id id,hire_date

from employees;

或者

create table emp2

as

select last_name name,employee_id id,hire_date

from employees

where department_id = 80;/where 1=2;

2.修改表

1)增加新的列

alter table emp1

add(birthday date)

2)修改现有的列

alter table emp1

modify(name varchar2(25) default ‘abc’)

3)重命名现有的列

alter table emp1

rename column salary to sal;

4)删除现有的列

alter table emp1

drop column birthday;

3.清空表中的数据(与delete from table_name区分开)

truncate table emp2;

4.重命名表

rename emp2 to emp3;

5.删除表

drop table emp3;

数据处理 DML

1)增

1.1 增添一条记录

insert into [表名](,,,,,)

values(,,,,,)

1.2 从其它表中拷贝数据

insert into [表名]

select …. from [另一个表]

where ….

2)改

update [表名]

set …..

where ….

3)删

delete from [表名]

where ….

4)查(最常用的数据库操作)

select ….

from …

where ….

group by …

having …

order by ….

约 束

对创建的表的列属性、字段进行的限制。诸如:not null/unique/primary key/foreign key/check

1.如何定义约束—在创建表的同时,添加对应属性的约束

1.1 表级约束 & 列级约束

create table emp1(

employee_id number(8),

salary number(8),

–列级约束

hire_date date not null,

dept_id number(8),

email varchar2(8) constraint emp1_email_uk unique,

name varchar2(8) constaint emp1_name_uu not null,

first_name varchar2(8),

–表级约束

constraint emp1_emp_id_pk primary key(employee_id),

constraint emp1_fir_name_uk unique(first_name),

constraint emp1_dept_id_fk foreign key(dept_id) references departments(department_id) ON DELETE CASCADE

)

1.2 只有not null 只能使用列级约束。其他的约束两种方式皆可

2.添加和删除表的约束–在创建表以后,只能添加和删除,不能修改

2.1添加

alter table emp1

add constaint emp1_sal_ck check(salary > 0)

2.1.1对于not null来讲,不用add,需要使用modify:

alter table emp1

modify (salary not null)

2.2 删除

alter table emp1

drop constaint emp1_sal_ck

2.3使某一个约束失效:此约束还存在于表中,只是不起作用

alter table emp1

disable constraint emp1_email_uk;

2.4使某一个约束激活:激活以后,此约束具有约束力

alter table emp1

enable constraint emp1_email_uk;

 
标签: 语句 妙招 命令
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 执行数据修改操作,使用()语句。
    执行数据修改操作,使用()语句。
    关于"执行数据修改操作,使用()语句。"的答案很多朋友不是很清楚,接下来小编就为介绍一下改题答案吧。执行数据修改操作,使用()语句。A.insertB.deleteC.updateD.select正确答案:A
    06-24
  • 赞美老师的语句(那些赞美老师的诗句)
    赞美老师的语句(那些赞美老师的诗句)
    赞美老师的语句(那些赞美老师的诗句)又到了一年一度的教师节了,勿忘恩师,一个亘古不变的话题。一日为师终身为父,在唐诗宋词里,你会发现直接赞美老师的诗歌是很少的,父亲和老师都是以严厉的形象出现。而今天流传下来的很多诗词,由于现代语意、语境的变
  • 形容芳华的唯美语句有哪些(芳华刹那水袖阡陌)
    形容芳华的唯美语句有哪些(芳华刹那水袖阡陌)
    1、刹那芳华,烟花易冷,缅怀这阡陌繁华,世间百态,煮酒无味殇别意,谁挥狼毫一笔眉宇薄凉。2、岁月流逝,芳华似花,在一片云端飘逸,在一朵花的时光里行走。3、刹那芳华间,人生有许多美好,又有许多让人遗憾的事。4、红颜弹指老,刹那芳华尽。5、红尘
  • 描写红叶的语句
    描写红叶的语句
    在红枫叶即将落地之前那一瞬间,它的生命是几乎没有了。可是,多情的人,还是将它夹进书页,或做成标本,或做成卡片,还有的拿回家放进冰箱,总是恋恋不舍的,将它保护好,赋予它生命的延续。秋天的枫叶好似燃烧着的火球,在阳光下闪闪发光,美丽极了。红叶散
  • 关于描写阳光的英语句子
    关于描写阳光的英语句子
    其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底,Butitisthesamewithmanaswiththetree.Themoreheseekstoriseintotheheightandlight,themorevi
  • oracle递归查询语句(oracle递归查询函数)
    oracle递归查询语句(oracle递归查询函数)
    众所周知,目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,还是可以在一句SQL内实现树的递归查询的。这个得益于Mysql允许在SQL语句内使用@变量。以下是示例代码。 创建表格 CREATE TABLE `lf_
  • 描写合唱的语句
    描写合唱的语句
    有以下关于合唱的语句:1、合唱犹如无数滴雨珠敲打着瓦砾、窗户、枝条、地面,有女高音的优美动听,也有男低音的宏亮。雨珠在瓦砾上跳起了欢快的舞蹈,在窗户上奏出激情地乐曲。2、音乐响起时,“百灵鸟”们就一展歌喉,放声唱歌。那歌声是那么的美妙、那么
  • 退出一个循环语句(不终止函数的执行)的有效措施是()
    退出一个循环语句(不终止函数的执行)的有效措
    关于"退出一个循环语句(不终止函数的执行)的有效措施是()"的答案很多朋友不是很清楚,接下来小编就为介绍一下改题答案吧。退出一个循环语句(不终止函数的执行)的有效措施是()A.用continue语句B.用return语句C.用exit语句D
    03-27
  • 叹中年人生纠结无奈伤感语句(的是无奈放弃太多)
    叹中年人生纠结无奈伤感语句(的是无奈放弃太多
    1、寻找梦里的未来,笑对现实的无奈,不能后退的时候,不再彷徨的时候,永远向前,路,一直都在。2、放弃该放弃的是无奈,放弃不该放弃的是无能,不放弃该放弃的是无知,不放弃不该放弃的是执着。3、人生如梦梦一场的悲欢离合喜怒哀乐都会凝聚在其中,无奈
  • 编译器常用的语法分析方法
    编译器常用的语法分析方法
    编辑器常用语法分析方法。拿mysql的编辑器为例。工具/原料mysqlsql语句方法/步骤1下载一个mysql客户端的辅助器navicate2打开并连接你想要连接的数据库3选中表,然后新建查询语句4简单些一个查询语句5默认是变颜色的6我们写
点击排行