Oracle表空间管理Agoly

1、ALTERDATABASESETDEFAULTBIGFILETABLESPACE;//修改表空间数据文件类型

2、ALTERTABLESPACE旧表空间名称TO新表空间名称;//修改表空间名称

8、orapwdfile=%ORACLE_HOME%\database\pwd.ora//创建新的sys用户密码存储文件pwd.ora,如果重新创建,必须删除原有的密码存储文件password=XXXX//设置的新密码entries=30//同时连接到sys用户的最大数9、showparameternls//查询数据库中字符集的参数

10、selectsysdatefromdual//查询数据库日期

11、select*fromnls_database_parameters;select*fromv$nls_parameters;select*fromprops$;//查询数据库安装时确定的参数值

12、exportNLS_LANG="simplifiedchinese_china".zhs16gbk或zhs16cgb231280exportORA_NLS33=$ORACLE_HOME/nls/admin/data//安装oracle时设置中文字符集的环境变量

13、updateprops$setvalue$='ZHS16GBK'wherename='NLS_CHARACTERSET';//修改oracle数据库核心字符集

14、expgiapsys/giapfile=/home/giapsys.dmplog=/home/giapsys.logdirect=y//导出giapsys用户的所有数据

15、createpfilefromspfile;//使用默认的服务器参数文件在默认路径中创建默认的文本参数文件

16、createspfilefrompfile;//使用默认的文本参数文件在默认路径中创建默认的服务器参数文件

26、selectt.table_name,t.initial_extent,t.next_extent,t.min_extents,t.max_extents,t.pct_increasefromuser_tablestselectb.segment_name,b.tablespace_name,b.extent_id,b.extent_id,b.bytes,b.blocksfromuser_extentsb

第一步:查看表空间的名字及文件所在位置:

selecttablespace_name,file_id,file_name,round(bytes/(1024*1024),0)total_spacefromsys.dba_data_filesorderbytablespace_name第二步:增大所需表空间大小:

alterdatabasedatafile'表空间位置'resize新的尺寸例如:

alterdatabasedatafile'\oracle\oradata\anita_2008.dbf'resize4000m对于oracle数据库的表空间,除了用手动增加大小外,还可以增加数据文件等方式扩展表空间大小。方法一:增加数据文件个数

altertablespace表空间名称adddatafile'新的数据文件地址'size数据文件大小例如:

altertablespaceESPS_2008adddatafile'\oracle\oradata\anita_2010.dbf'size1000m方法二:设置表空间自动扩展。

alterdatabasedatafile'数据文件位置'autoextendonnext自动扩展大小maxsize最大扩展大小例如:

alterdatabasedatafile'\oracle\oradata\anita_2008.dbf'autoextendonnext100mmaxsize10000m方法三:查询表空间使用情况:

selecta.tablespace_name,a.bytes/1024/1024"sumMB",(a.bytes-b.bytes)/1024/1024"usedMB",b.bytes/1024/1024"freeMB",round(((a.bytes-b.bytes)/a.bytes)*100,2)"used%"from(selecttablespace_name,sum(bytes)bytesfromdba_data_filesgroupbytablespace_name)a,(selecttablespace_name,sum(bytes)bytes,max(bytes)largestfromdba_free_spacegroupbytablespace_name)bwherea.tablespace_name=b.tablespace_nameorderby((a.bytes-b.bytes)/a.bytes)desc;一.数据文件的扩展1.alterdatabasedatafile'$home/data/df1.dbf'antoextendon;alterdatabasedatafile'$home/data/df1.dbf'autoextendoff;2.创建时启用createtablespacetestuserdatafile'$home/data/df1.dbf'autoExtendonnext10Mmaxsix500M3.DBA_DATA_FILES,AUTO_EXTENDselectname,auto_extendfromdba_data_files;

4.自动扩展属性--浪费性能一般关掉-----》手动扩展--》1.alterdatabasedatafile'/u03/oradata/userdata02.dbf'resize200M-->2.增加新文件,altertablespaceuserdataadddatafile'$home/'size500M

二.移动非SYSTEM数据文件--》使表空间脱机altertablespaceuserdataoffline;--》OScopy文件--》重命名altertablespaceuserdatarenamedatafile'11'to'22';--》使表空间连机--》使OS命令删除文件

三.移动SYSTEM数据文件1.关闭数据库2.使用OS移动3.startupmount4.alterdatabaserenamefile'system01.dbf'to'/user/system01.dbf';

四.删除表空间--system表和有激活undo的段无法,删除1.includingcontents删掉所有的段。2.includingcontentsanddatafiles删除掉对应的操作系统文件。3.cascadeconstraints;

五.得到表空间的信息得到表空间的信息dba_tablespacesv$tablespace得到数据文件的信息dba_data_files;v$datafile得到临时文件的信息dba_temp_files;v$tempfile;

六.临时表空间temp(只有一个临时段)--先sortmemory,后sortdisk---v$sysstatselect*fromv$sysstatwherenamelike'sortx';临时表的工作方式:一次分配,循环,共享使用。

1.创建createtemporarytablespacetemptempfile'/u01/oradata'size10M;

2.默认临时表空间(只能有一个)创建用户时,如果没有指定临时表空间,会使用数据库级别的临时表空间。

3.修改数据库临时表空间alterdatabasedefaulttemporarytablespacetemp2;

4.默认表空间不能被删除,不能offline.

归档路径管理:showparameterarchive;altersystemsetlog_archive_dest_1='location=d:\oracle\archivelog'scope=both;createpfilefromspfile;ALTERSYSTEMSWITCHLOGFILE;

删除表空间:DROPTABLESPACEusersINCLUDINGCONTENTS;DROPTABLESPACEusersINCLUDINGCONTENTSANDDATAFILES;

开启归档模式:SHUTDOWNSTARTUPMOUNTALTERDATABASEARCHIVELOG;ALTERDATABASEARCHIVELOGMANUAL;ALTERDATABASEOPEN;SHUTDOWNIMMEDIATE

系统进行一次归档:ALTERSYSTEMARCHIVELOGALL;ALTERSYSTEMSETLOG_ARCHIVE_MAX_PROCESSES=3;

1.创建表:

createtableIT_EMPLOYEES(EMPLOYEE_IDNUMERIC(6)NOTNULLUNIQUE,FIRST_NAMEVARCHAR2(20),LAST_NAMEVARCHAR2(25)NOTNULL,EMAILVARCHAR2(25),PHONE_NUMBERVARCHAR2(10),JOB_IDVARCHAR2(10),SALARYNUMBER(8,2),MANAGER_IDNUMBER(6));

2.创建视图:

(1)

createviewprog_employees_1asselectemployee_id,first_name,last_name,email,phone_number,salary,manager_idfromit_employeeswherejob_id='IT_PROG';

(2)

createviewprog_employees_1asselectemployee_id,first_name,last_name,email,phone_number,salary,manager_idfromit_employeeswherejob_id='IT_PROG';withcheckoption;

(3)删除视图

dropviewprog_employees;

3.创建索引

(1)Create【unique】【cluster】INDEX<索引名>ON<表名>(<列名><次序>)

例:

createindexIT_LASTNAMEONIT_EMPLOYEES(LAST_NAME);

用户可以在查询频率最高的列上建立聚簇索引,由于聚簇索引是将索引和表记录放在一起存储,所以在一个基表上只能建立一个聚簇索引。在建立聚簇索引之后,由于更新索引列数据时会导致表中记录的物理顺序的变更,系统代价较高,因此对于经常更新的列不适宜建立聚簇索引。

(2)删除索引

Dropindex<索引名>;

4.Alter

(1)增加一列

altertableIt_EmployeesaddBIRTH_DATEDATE;

(2)修改字段

altertableIt_Employeesmodifymanager_idnumber(8);

(3)删除约束条件

altertableIt_Employeesdropunique(employee_id);

4.select/groupby/having

注意:select子句后面只有两类表达式,统计函数和进行分组的列明。

Having子句对分组的结果进一步筛选,having子句与分组有关,而where子句与单个行有关。

selectdeptno,avg(sal),sum(sal),max(sal),min(sal),count(sal)fromempgroupbydeptno;

selectdeptno,avg(sal),sum(sal),max(sal),min(sal),count(sal),count(*)fromempgroupbydeptnohavingavg(sal)>2000;

5.内连接innerjoin/外连接(左leftouterjoin/右外连接rightouterjoin/全外连接fulljoin)

区别:内连接进行多表查询时,返回的查询结果集中仅仅包含符合查询条件(where条件和having条件)和连接条件的行。内连接消除了与另一个表中的任何行不匹配的行,而外连接扩展了内连接的结果集,除返回所有匹配的行外,还返回不匹配的行。

selectempno,ename,dnamefromempinnerjoindeptonemp.deptno=dept.deptnowherejob='SALESMAN';

17499ALLENSALES

27654MARTINSALES

37844TURNERSALES

47521WARDSALES

55555lipengOPERATIONS

测试数据:deptno为null的

insertinto

empvalues(6666,'lipeng','SALESMAN',6666,to_date('2013-04-02','yyyy/mm/dd'),5000.00,1000.00,null);

selectempno,ename,dnamefromempleftouterjoindeptonemp.deptno=dept.deptnowherejob='SALESMAN'

15555lipengOPERATIONS

26666lipeng

37499ALLENSALES

57654MARTINSALES

67844TURNERSALES

从结果可以看出:做外连接不仅包含连接相匹配的行,而且还包含左表emp中所有满足where限制的行,而不论是否与右表相匹配。

5.union/unionall/intersect/minus

union将集合中的重复记录滤除,而unionall包含两个子结果集重复的行。

selectename,SALfromempwhereenamelike'S%'ORenamelike'J%'unionallselectename,SALfromempwhereenamelike'J%'ORenamelike'C%';

6.子查询in/exists/比较运算符

(1)selectempno,ename,deptnofromempwheredeptnoin(selectdeptnofromdeptwhereloc='CHICAGO');

执行顺序:先执行括号内的子查询,然后将查询到的deptno结果跟emp中的deptno进行比较,若列值存在于这些返回值中,则外层查询结果会在结果集中显示该行。

(2)selectempno,enamefromempwhereexists(select*fromdeptwhereemp.deptno=dept.deptnoandloc='CHICAGO');

(3)查询emp表,将将薪资大于本职位平均薪资的雇员信息显示出来。

selectempno,ename,sal,jobfromempwherejob='SALESMAN'andsal>(selectavg(sal)fromempwherejob='SALESMAN');

7.数据操纵INSERT/UPDATE/DELETE/TRUNCATE

updateempsetsal=(selectavg(sal)fromempwherejob='SALESMAN')whereempno=6666;commit;

deletefromempwhereempno=5555;

DELETE/TRUNCATE区别:

如果确定要删除表中所有记录时,建议使用TRUNCATE,因为TRUNCATE删除数据时要比DELETE快的多。但是TRUNCATE删除数据后,不能用rollback来恢复数据,但是delete可以用。

Reusestorage/dropstorage

Truncatetableempreusestorage;

Reusestorage表示删除记录后保存记录占用的空间。

dropstorage表示删除记录后立刻回收记录占用的空间。

grantselectonemptosup2db;

revokeselectonempfromsup2db;

9.字符类函数

selectASCII('A')big_A,ASCII('a')small_afromdual;

selectCHR(65),CHR(97)fromdual;

selectconcat('oracle','11g')oraclenamefromdual;

selectinitcap('helloworld')namefromdual;

selectreplace('feelblue','blue','yellow')fromdual;

日期函数:

selectadd_months(hiredate,1)fromemp;

第七章oracle数据库管理操作

一.增加安全性

解决的问题:例如,销售经理需要访问数据库中有关该部门员工的信息。但是该经理没有理由访问有关其它部门员工的信息。

connsys/change_in_stallassysdba;

(2)激活人力资源示例数据库账户,连接到HR示例数据库

Alteruserhridentifiedbyhraccountunlock;

Connhr/hr;

查看hr用户下面的所有表:

(1)连接到hr用户

(2)Selecttable_namefromuser_tables;

或者使用Select*fromtab;

(3)为销售经理创建用户ID,用户名salesmanger,密码sales,并将connect权限授予销售经理。

(4)Connsys/change_in_stall;

grantconnecttosalesmangeridentifiedbysales;

(4)定义一个查看员工编号和姓名的视图,将数据库中员工等信息隐藏起来。

createviewemp_sales

as

selectemployee_id,first_name,last_namefromhr.employees;

}

(5)授予salesmanger查看emp_sales视图的权限

grantselectonemp_salestosalesmanger;

connsalesmanger/sales

select*fromsys.emp_sales;

二.隐藏数据的复杂性

现有一机场数据库,拥有pilotSkills表和hanger表,

其中表pilotSkills描述了飞行员和他们能够驾驶的飞机信息,表hanger描述了停在飞机棚中的飞机信息。

现在要求查询能够驾驶飞机棚中每一架飞机的飞行员的姓名。

--创建pilotSkills表

createtablepilotSkills(pilotchar(15)notnull,planechar(15)notnull,primarykey(pilot,plane));createtablehanger(planechar(15)primarykey);

创建视图,实现“找出能够驾驶飞机棚中每一架飞机的飞行员的姓名”

CreateviewQualifiedPilots(pilot)AsSelectps.pilotfrompilotSkillsps,hangerhWhereps.plane=h.planeGroupbyps.pilotHavingcount(ps.plane)=(selectcount(plane)fromhanger);

selectpilotfromQualifiedPilots;

三、实现记录的唯一性

--增加主键

Altertablestuaddconstraitc1primarykey(sno);

--删除主键约束

Altertablestudropconstraitc1;

--创建一个名为ind1的唯一索引

Createuniqueindexind1onemp(empno);

当插入一条重复数据的时候会报错。

四.实现数据的完整性

Altertablestudentmodifysnamenotnull;

第八章数据库用户管理

1.创建一个用户使其具有登陆,连接的系统权限

createuserstuidentifiedbystu;

grantcreatesessiontostu;

2.用户HR将Employees表的查询、查询、更改表的对象的权限授予stu,那么stu具有了对HR的employees表的select对象权限,但不具备其它对象权限。

connhr/hr;

grantselect,insert,updateonemployeestostu;

selectfirst_name,last_name,job_id,salaryfromhr.employeeswheresalary>15000;

数据字典dba_roles可以了解数据库中全部的角色信息。

select*fromdba_roles;

角色connect、resource和DBA主要用于数据库管理。对于数据库管理员分别授予Connnect、resources和DBA角色。

创建角色:

createroleaccess_database;

Createroleaccess_databaseidentifiedby123;

grantcreatesession,createtable,createviewtoaccess_database;

(3)可将角色授予用户,使用户获得该角色所拥有的所有权限。

grantaccess_databasetoscott;

4.修改用户的默认角色

(1)设置用户的角色失效

Alteruserscottdefaultrolenone;

(2)设置用户角色生效

Alteruserscottdefaultroleall;

(3)查看session_roles视图,确认会话所用的角色

connectstu/stu;

select*fromsession_roles;

结果:

ROLE

------------------------------

CONNECT

RESOURCE

(4)为当前用户启用ACCESS_DATABASE角色。

Setroleaccess_database;

5.回收权限

*逐一回收

Connectsys/change_in_stallassysdba;

(1)系统权限的回收

收回scott用户的selectanydictionary系统权限。

Revokeselectanydictionaryfromscott;

(2)对象权限的回收

Hr用户回收scott对employees表的select对象权限。

Connecthr/hr

Revokeselectonemployeesfromscott;

用户HR将基表Employees的所有权限从public用户回收。

Revokeallonemployeesfrompublic;

6.删除角色

Droproleaccess_database;

删除用户:

Dropuserstu;

7.使用数据库连接

是为了访问远程数据库而创建的数据库通信链路。

链接到指定的用户:

CREATEDATABASELINKlink_nameCONNECTTOUSERIDENTIFIEDBYpasswordUSINGserver_name;

link_name:表示要链接到远程数据库名。

Server_name:表示远程数据库的服务名。

1.设置其它表空间初值

例如学生信息库,要把有关学生信息的一些表放到一个表空间中,如果有2000多名学生,则存储学生个人信息最多也不超过100MB的空间,但是为了保险,我们可以设置两个数据文件,每个数据文件的大小均设置为100MB

createTablespacestudent_info

datafile'C:\oracle\product\10.2.0\oradata\orcl\student01.dbf'size100M,'C:\oracle\product\10.2.0\oradata\orcl\student02.dbf'size100Mdefaultstorage(initial10Mnext10Mminextents1maxextents10pctincrease20)online;

说明:

Storage指定表空间的存储参数,这些参数对于数据库的性能影响很大,选着时要慎重。

initial10M:--表空间student_information初始空间大小为10MB

next10M:--当初始区间填满后,分配第二个区间的大小为10MB

pctincrease20:--当在填满时,按照20%的增长速率分配区间大小。

minextents1:--初始为该表空间分配1个区间

maxextents10:--最多为该表空间分配10个区间

2.空间充足的管理

(1)使用数据字典动态监视

这里使用的数据字典是dba_free_space和user_free_space,可以查看其内容来得到有关表空间的空间信息。

select*fromdba_free_space;

(2)向表空间增加数据文件

altertablespacestudent_infoadddatafile

'C:\oracle\product\10.2.0\oradata\orcl\student03.dbf'

size2M;

注意:通过上述方法给表空间分配太多的空间并不好,因为这样做无疑造成较大空间的浪费。因此建议做好空间估计,并合理利用空间,无论是对减少资源浪费还是提高系统性能都有好处。

3.解决空间不足的方法

扩充数据库存储空间常用的方法有如下三种:

(1)增加SYSTEM表空间中数据文件的大小

(2)创建新的表空间

(3)创建新的数据文件

数据库中的数据其实都是存储在数据文件中的,SYSTEM表空间的数据文件是在创建数据库的时候给定的,并且给其大小给定了一个初值。那么System表空间不够时就可以AlterDataBase命令动态的增加SYSTEM表空间数据文件的大小。

查11g

AlterDATABASEorclDatafile'C:\oracle\product\10.2.0\oradata\orcl\system01.dbf'resize750M;

(2)创建新的表空间

表空间其实是一个逻辑概念,它所有数据和结构信息都存储在一个或者多个数据文件当中,当需要扩充数据库存储空间时,可以创建新的表空间并指定它的数据文件,系统就会划出一块磁盘空间给这个表空间.

注意:创建数据库时最好能创建几个私用的表空间,因为SYSTEM表空间是系统表空间,其中存储数据字典和数据库结构等重要信息,他是数据库运行的基础,若是把所有信息都存放在这个表空间里,一方面会迅速占满它的空间,另一方面也加大了出错的可能性。

1.Createtablespace命令简介

Createtablespace表空间名

Datafile{

文件名[autoextend{off|onnext数值maxsize数值}],

Mininumextend数值

Logging|nologging

Defaultstorage{...}

Online|offline

Permanent|temporary;

2.用createtablespace创建表空间

createtablespacetestdatafile'C:\oracle\product\10.2.0\oradata\orcl\test01.dbf'size2Mdefaultstorage(initial2Mnext2Mminextents2maxextents10pctincrease20)online;

向表空间中增加数据文件使用的命令:

Altertablespace表空间名

Loggin|nologging

Adddatafile{数据库文件名[autoextend],...}

Renamedatafile原文件名to新文件名

Coalesce

Defaultstorage

Online|offline[normal|temporary|immediate|forrecover]

[begin|end]backup

Readonly|write

Permanent|temporary

Adddatafile:用于增加数据文件,可在联机或者是脱机下增加,但所增加的数据文件不能是其它表空间或者数据库已经使用的,它同样可带autoextend参数选项。

Coalesce:用于所有相连的空间范围合并到相邻较大的范围当中去,这一项不能被其它命令所指定。

[begin|end]backup:用于开始或者结束联机备份表空间的数据文件,在备份过程中用户可以继续访问该表空间,但备份过程中不能将表空间脱机,也不能关闭数据库。

Readonly|write:其中Readonly表示此表空间的内容是只读的,不能像其中写入任何数据,而readwrite则可以对此表空间的数据进行读写操作。

向表空间test中增加两个大小为10MB的数据文件

Altertablespacetest

Adddatafile

'C:\oracle\product\10.2.0\oradata\orcl\test02.dbfsize10M';

createtableEmployee(

idintprimarykey,

namechar(20),

birthdayDate,

addressvarchar(30),

cityvarchar(10),

sexchar(2),

salarynumeric(10,2),

dnoint,

pnoint

unique(name,birthday)

);

idint,

dnointReferenceDepartment(deNumber),//外键约束

unique(name,birthday)//候选键

primarykey(id)//员工表的主键

外部键约束增加了关系数据库表的关联完整性,可以较好的保证数据库表之间的关联完整性。主键所在的表成为父表,为主控方,对应的外部键所在的表为子表,为被控方。

dnointReferenceDepartment(deNumber)工作人员所属的部门号(dno)是相对于Department部门表的外部键。这样定义以后若想添加一个工作人员的记录,添加的记录中dno列的值必须在Department记录中存在与其相同的值,否则就无法添加记录。

也可以用另一种方式添加外键,若对应的主键是多个列的组合,那么外部键的定义只能放在所有列之后。只能是这种定义:

dnoint,

pnoint,

foreignkey(dno)referencesDepartment(deNumber)

在对子表中的外部键或对父表的主键进行更新时(可能会产生的关联完整性的问题的四种情况)总结:

1.在子表中添加记录:

在子表Employee中添加一个记录,其dno列的值必须与Department表中dNumber列中的一个值相同。或者添加dno列值为NULL,否则将破坏数据库的完整性。但是向父表Department中添加新记录不会产生这个问题。

2.更新子表外部键的值:用update更新后的值必须与父表中的一个主键相匹配,或者更新为NULL,否则将产生错误。

3.删除父表中的记录:从父表中删除一个记录,子表中对应该值的外部键的记录不在与父表中的任何一个主键值相匹配。例如从父表Department表中删除dNumber列值为3的记录,那么子表Employee表中所有dno列值为3的记录(即员工所在部门为3号)的记录都将产生没有匹配主键值的问题。然而从子表中删除记录并不会产生这个问题。

4.更新父表中主键的值:父表Department中更新一个主键的值后,子表Employee中与原来值相对应的外部键的值也将不再与父表中任一主键的值相匹配。

下面是解决上面问题的方法:

1.使用Restrict关键字:父表中的主键值在子表中有许多具有该值的外部键的记录时,若在约束中指定Restrict关键字,则企图删除父表中的语句将被拒绝,企图更新父表中记录的主键值也将被拒绝。

2.CASCADE关键字:当父表中一个记录被删除时,cascade可以使其子表中所有与该记录的主键值对应的记录的(例如父表Department中的dNumber为3的值被删除,在子表中外键dno为3的记录都将被删除)都将从子表中删除。而更新父表中一个主键值时,CASCADE可以使其子表中对应外部键的值也自动被修改。

3.SETNULL:当父表中一个记录被删除时,SETNULL可以使其子表中所有与该记录的主键值对应的外部键的值将自动被赋值为NULL。更新同理。

4.SETDEFAULT:当父表中一个记录被删除时,SETDEFAULT可以使其子表中的所有与该记录的主键值对应的外部键的值都将被赋值为缺省值。

NULL值并不表示0值或空值,而是表示一个丢失、不知道,不可用的值。

举例子说明该约束:例如,Employee表中,如果没有name就无法知道工作人员的名字,一般来说公司都要记录工作人员的名字,因此name的值可以规定为NOTNULL,而工作人员的生日,地址,等并不是一定要有的,也允许其丢失,这些列值允许为NULL。

作为区分每个表的主键的值,不可以为空值,而对于外部键来说,NULL值是允许存在的。

举例来说明:在Company数据库中,Employee表中pno列是相对于Project的外部键,并不是公司的一个员工都参与一个工程项目的工作,如总裁等。因此Employee表中的pno允许有NULL值存在,(员工表Employee的总裁的外部键pno可以为NULL)。

举例来说明:在Employee增加校验约束条件

SalaryNUMERIC(10,2)CHECK(Salary>1000.00)后Employee表中拒绝小于等于1000的所有记录。

用UPDATEEmployeeSetSalary=900.00whereid=2002,该语句产生错误。

在员工表中sex列一般限制男和女两个值,可以增加一个检验约束来实现对sex列的限制。

sexchar(2)check(sexin('男','女')),

Constraintsex_checkCHECK(sexin('男','女')),

Constraintsalary_checkCHECK(salary>1000.00),

使用Constraint关键字进行检验约束的定义。这样我们可以在以后必要的时候对定义的约束进行激活和撤销。

举例:salarynumeric(10,2)default3000.00,当对表添加记录时,若对设有默认值的列没有指定明确的值,系统自动会进行默认的添加。

InsertintoEmployeevalues('peter','2012-02-20','','北京','男',1004,1,3);

1.Employee表:

namechar(15)NOTNULL,/*员工名字*/

birthdayDate,/*员工生日*/

addressvarchar(30),/*员工住址*/

citychar(10),/*员工所在城市*/

sexchar(2)check(sexin('男','女'))default'男',

salarynumeric(10,2),/*员工工资*/

dnointReferenceDepartment(dnumber),/*外键约束部门号*/

pnoint,

foreignkey(dno)referencesDepartment(pnumber),/*外键约束项目号*/

--unique(name,birthday)//候选键

--primarykey(id)//员工表的主键

Constraintsalary_checkCHECK(salary>1000.00),

2.Department部门表

CreatetableDepartment(

dnumberintprimarykey,/*主键约束部门号*/

dnamechar(20)unique,/*公司中每个部门的名称应该是不同的*/

mgridint,/*部门负责人的id号*/

mgrdateDATE/*负责人上任日期*/

3.Project项目表的

CreatetableProject(

pnumberintprimarykey,/*项目号*/

pnamevarchar(20)unique,/*项目名称*/

pmgridint,

budgetNUMRIC(10,2),/*项目预算*/

GrossNUMRIC(10,2),/*预计总收入*/

4.Paccpeter项目接收方表:

说明:由于不同项目的接收方可以相同,因此以pnumber列作为表的主键。同时pnumber列是Paccpeter表相对于Project表的外部键。若父表Project不存在的项目号在子表Paccpeter也不能存在。

CreatetablePaccpeter(

accepterchar(20)NOTNULL,/*项目接收方不允许为空*/

citychar(10),

acceptdateDate,/*接收日期*/

pnumberreferenceProject(pnumber)/*外键pnumber*/

5.Dep_Pro部门和项目连接表的创建:

说明:表中只包含两列:记录部门号的dnumber和记录项目号的pnumber,该表中以二者的组合作为主键。同时dnumber是相对于Department表的外部键,而pnumber列是相对于Project表的外部键。

CREATETABLEDep_Pro(

dnumberINT,

pnumberINT,

PRIMARYKEY(dnumber,dnumber),

dnumberREFERENCESDepartment(dnumber),

pnumberREFERENCESDepartment(pnumber),

1.在单列上创建索引:

在员工表id列上创建索引:

CREATEINDEXid_indexONEmployee(id);

Selectname,sex,id,salaryfromEmployee;

查询的结果会按照索引的顺序进行排列。

2.在多列上创建索引:

CREATEINDEXname_salary_indexONEmployee(name,salary);

在多列上创建索引时将按照列出的顺序进行排列。先将按照name进行索引,然后在按照salary进行索引。

3.创建唯一索引:

唯一索引可以在单列也可以在多列上创建,唯一索引可以避免相同值的多个记录的出现,唯一索引是指两个记录中没有同一个索引值。

CREATEUNIQUEINDEXid_indexONEmployee(id);

1.向表中添加列:

ALTERTABLETablename

ADDcolumnnamedatatype

[DEFAULTexpression]

[REFERENCESTablename(columnname)]

[CHECKconstraint]

例如:如果要在Department表中添加city列,默认部门所在城市为北京。

AltertableDepartmentaddcitychar(10)default'北京';

也可以添加新列的约束:例如,公司新规定每个项目的预计总收入不得少于10000.00元,

则可以为Project表中添加一个约束:

ALTERTABLEProjectCONSTRAINTgross_check(gross>10000.00);

2.修改已有列

MODIFYcolumnname[datatype]

例如,将Employee表中的name列的长度变成30个字符长:

ALTERTABLEEmployeeMODIFYNAMECHAR(30);

不能修改数据类型,即不能从int改到char,可以减少字符串的长度,然而,

不能长度少于已有数据中长度最大的值。

也可以修改列所具有的约束:

例如,将Employee表中sex列的默认值从“男”修改成“女”:

ALTERTABLEEmployeeMODIFYsexDEFAULT'女';

在SQL中,也可以使用ALTERTABLE语句删除表中已有的列。

例如从Employee表中删除birthday:

ALTERTABLEEmployeeDROPbirthday;

Dropindexindexname;

使用索引的原因总结:

1.适合使用索引的情况:

(1)大量值:表中的记录在该列上含有大量不同的值时,为表建立索引可以起到很好的作用。

(2)经常在查询中使用:某列在查询中使用的越多,在该列上创建的索引所能起到的加快速度的作用越明显。

(3)查询返回记录相对较少时:当返回的记录大大少于表中的记录总量的时候,索引能很好的加快查询速度。若总是返回大量的记录,由于索引本身的开销,索引并不能很好的提高检索的速度。

(4)用于两个表连接的操作:由于索引使每个表中的记录按顺序排列,所以使用被索引的列进行连接操作,可以提高连接速度。

2.不适和建立索引的情况:

(1)小型表:对于小型表,由于表中的记录不多,而索引自身也会增加开销,通过使用索引并不能提高性能,所以小型表不使用索引。

(2)只有很少值的列不适合建立索引。

(3)用户查询方式经常变化的表不适合建立索引。

(4)在具有较多的NULL值的列不适合创建索引。

(5)定期更新或者修改的列不断的更新或者修改导致索引页需要进行不断的更新,额外的消耗过多。

10.多表连接查询:

1.什么是连接?

定义:连接是将多个表的数据结合到一起的查询,即连接操作可以在一个select语句中完成从多个表中查找和处理数据。使用连接时可以使用相同名字的列,例如可以使用pnumber连接Project表与Paccpter表;也可以使用不同名字的列进行连接,例如使用Employee表中的id列与Department的mgrid列进行连接。进行连接时用于连接的必须是可连接的列,即要求它们具有相同的数据类型。

一般来说,连接的语法可以分为二种:

(1)传统的连接语法:selectfrom/where包含多个表的连接查询

传统的FROM/WHERE连接语法基本格式如下:

SELECTselect_list

FROMTable1name,[Table2name,...]

WHERE[Table1name.]columnoperator[Table2name.]column

用上面的表:

例如:查询部门负责人的负责的部门号、负责人名字、id号、性别及工资。

分析:需要连接连个表:Employee表和Department表

原因:在Employee表中并没有存储谁是什么部门的负责人,负责人的id号存储在Department表中。(参照上面的表)

Selectdnumber,name,id,sex,salaryfromEmployee,Departmentwhereid=mgrid;

(2)SQL连接语法:join关键字来实现连接的操作JOINCROSSJOIN及NATURAL

FROMTable1name[CROSS|NATURAL]JOINTable2name

[ON[Table1name.]columnoperator[Table2name.]column]

[WHEREconditions]

●第一行中的select_list仍然是选择的列的名称,但是需要注意的是,如果使用两

个表中有相同名称的列,则必须限定是哪个表中的列;

●第二行中关键字CROSS与NATURAL是可选项,可以使用也可以不使用。如果

选择了CROSS或NATURAL关键字,那么就不能使用ON关键字;

●单独使用JOIN关键字时,需要使用ON关键字来设定连接的条件;

●使用CROSSJOIN时,不能使用关键字ON,因此必须使用WHERE子句设定连

接的条件。因为如果不设定连接条件,将返回表之间的每一种可能组合(即笛卡

尔积),连接结果将非常庞大;

●NATURALJOIN只有在两个表有相同名称的列时才能使用,将在同名列上进行连

接。因此,不必使用关键字ON或WHERE子句设定连接条件。当然,使用WHERE

子句限制查找的行仍然是可以的。

例如查询:部门负责人的负责的部门号、负责人名字、id号、性别及工资。

用join连接:

Selectdnumber,name,sex,id,salaryfromEmployeejoinDepartmentonmgrid=id;

Results

dnumbernamesexidsalary

——————————————————

6魏成男60015000.00

1林志千男10016000.00

2陈广海男20015000.00

3张宇男30015000.00

4张峰男40017000.00

5李志深男50015000.00

用crossjoin连接:

SELECTdnumber,name,sex,id,salaryFROMEmployeeCROSSJOINDepartment

WHEREid=mgrid

结果是与上面相同的。

但是这里不能用NATURALJOIN连接。虽然Employee的id列和Department表mgrid列的数据类型和存储的内容相同,但是名称不相同,所以不能用自然连接。

Project的表和Paccpter表中有两个相同的列pnumber,则可以对这两个表进行NATURALJOIN连接。

Selectpnumber,accepter,budgetfromProjectNATURALJOINPaccpter;

pnumberaccepterbudget

—————————————————

101蓝科通讯公司110000.00

102华夏技术有限公司140000.00

103汉升咨询公司150000.00

104神州发展有限公司120000.00

105四海贸易有限公司100000.00

201化天通讯公司200000.00

202日胜公司220000.00

203华田汽修公司250000.00

204东胜有限公司240000.00

301科华贸易公司300000.00

302新安有限公司320000.00

303华田汽修公司360000.00

也可以用传统的from/where循环代替:

Selectpnumber,accepter,budgetfromProject,PaccpterwhereProject.pnumber=Paccpter.pnumber;

用joinon代替:

Selectpnumber,accepter,budgetfromProjectjoinPaccpteronProject.pnumber=Paccpter.pnumber;

2处理连接:

两个表有意义的连接到一起,必须有公共数据。

Project表:

SELECTpnumber,budgetFROMProject;

pnumberbudget

—————————

101110000.00

102140000.00

103150000.00

104120000.00

105100000.00

201200000.00

202220000.00

203250000.00

204240000.00

301300000.00

302320000.00

303360000.00

Paccepter表:

SELECTpnumber,accepterFROMPaccepter;

pnumberaccepter

———————————

101蓝科通讯公司

102华夏技术有限公司

103汉升咨询公司

104神州发展有限公司

105四海贸易有限公司

201化天通讯公司

202日胜公司

203华田汽修公司

204东胜有限公司

301科华贸易公司

302新安有限公司

303华田汽修公司

在理想的情况下,对数据库中的表进行连接时使用表的主键与相应外部键。因为,设计数据库时,主键与外部键在逻辑上就是互相联系的,并且主键与外部键之间具有一致性,会保持主键列与外部键列在值上的一致。主键与外部键可以很好的保持数据库完整性。

较好的连接应该符合以下要求:

●FROM子句中必须包含用于连接的所有表,不能仅包含一部分用于连接的表;

●进行连接的列名称可以不同,除非要使用NATURALJOIN,如果需要使用相同

名称的列必须为其加上表名作为限制,不然会产生混淆;

●用于连接的列必须有相同的数据类型,或可以自动进行类型转换。不同类型的数

据是不能进行连接的。例如,不能使用Employee表中的birthday列与Department

表中的dname列进行连接;

●用于连接的列必须具有相同的意义,这是最重要的一点,没有相同意义的列的连

接是毫无用处的。例如,虽然Employee表中的name列与Department表中的dname

列数据类型相同,但是这两个列毫不相干,连接是没有意义的。

查询的时候必须指定查询条件:

例如:查找正工作在与项目接收方所在城市相同的工作人员。

方法一:Selectid,name,sex,cityfromEmployee,PaccepterwhereEmployee.city=Paccepter.city;

方法二:selectid,name,sex,cityfromEmployeejoinPaccepterwhereEmployee.city=Paccepter.city;

如果没有连接条件,查询的结果将是两个表的笛卡尔积。结果行数将大的惊人。

3.笛卡尔积

表一:

ABC

——————

abc

def

bcd

表二:

DE

————

de

ef

则表一和表二的笛卡尔积为:

ABCDE

——————————

abcde

abcef

defde

defef

bcdde

bcdef

最后可以有:3*2=6条记录。

用于指定连接的表越多,其笛卡尔积的结果就越惊人,越需要很好的指定连接条件。

由于连接过程中使用了笛卡尔积,因此连接操作会导致性能的下降。

使用连接时应该遵循一定的原则:

●用于连接的列已经创建了索引。因为索引会单独保存在磁盘上,且将数据按照一

定顺序进行了排列,索引的使用可以加快访问的速度;

●用于连接的列具有相同的数据类型,包括是否允许空值。如果需要系统自动进行

4.连接中运算符号的使用:

Selectpnumber,accepter,penddate,acceptdatefromProject,Paccepterwherependdate>acceptdateANDProject.pnumber=Paccepter.pnumber;

Results:

pnumberaccepterpenddateaccedate

——————————————————————

201化天通讯公司2001-12-202001-12-15

303华田汽修公司2002-04-252002-04-15

[2rows]

Selectpnumber,accepter,penddate,acceptdatefromProject,Paccepterwherependdate<>acceptdateANDProject.pnumber=Paccepter.pnumber;

204东胜有限公司2002-08-012002-08-06

[3rows]

在进行连接的时候还可以使用where子句限制查找到的行。

例如,只需要查看项目号小于201的所有项目的项目编号、接收方及项目成本。

方法一:

Selectpnumber,accepter,budgetfromProject,PaccpeterwhereProject.pnumber=Paccpeter.pnumberANDProject.pnumber<201;

方法二:

Selectpnumber,accepter,budgetfromProjectjoinPaccpeteronProject.pnumber=Paccpeter.pnumberwhereProject.pnumber<201;

———————————————

101科华贸易公司110000.00

103科华贸易公司150000.00

[5rows]

5.多表的连接:

需要知道工作人员本身以及其所属的部门和所参与的项目的详细信息,

Employee表、Department表、Project表这三个表以得到所需的信息。

但是多个表连接或者多个表连接时引起的性能下降更加严重。

例如:将返回工作人员本身以及其所属的部门和所参与的项目的详细信息:

分析:需要连接三个表:Employee表,Department表,Project表。

Selectid,name,dnumber,dname,mgrid,pnumber,pname,grossfromEmployee,Department,Projectwheredno=dnumberANDpno=pnumber;

数据库设计时介绍了三种关系和数据库连接的关系:

(1)一对一的关系:

例如:项目Project表和项目接收Paccepter表时一对一的关系:

可以通过项目号pnumber进行连接:

方法一:Selectpnumber,accepter,budgetfromProjectjoinPaccepteronProject.pnumber=Paccepter.pnumberwhereProject.pnumber=102;

方法二:Selectpnumber,accepter,budgetfromProject,PaccepterwhereProject.pnumber=Paccepter.pnumberANDProject.pnumber=102;

Result:

——————————————

102华夏技术有限公司140000.

[1row]

(2)一对多的关系:

一个表的一条记录可以对应另一个表的若干条记录:

查询的时也可以对两个表进行连接:例如:部门和工作人员之间就是一对多的关系。

希望由工作人员记录得出其所属的部门的信息就需要进行连接:

Selectid,name,dnumber,mgridfromEmployee,Departmentwheredno=dnumberANDname=‘lipeng’;

Selectid,name,dnumber,mgridfromEmployeejoinDepartmentondno=dnumberwherename=‘lipeng’;

nameiddnumbermgrid

李明100211001

(3)多对多的关系:

无法对多对多的两个表进行连接,则必须使用创建数据库时专门为多对多的关系创建的连接表来实现。因此需要包含三个表的组合来连接数据。

例如:一个部门可能同时进行一个或者多个项目,一个项目可能由一个或者多个部门来配合才能很好的完成。

部门与项目间存在着多对多的关系。可以通过连接表来实现部门与项目的连接。

SELECTdnumber,mgrid,pnumberFROMDepartmentJOINDep_pro

ONDepartment.dnumber=Dep_pro.dnumberProjectJOINDep_proONProject.pnumber=Dep_pro.pnumberWHEREProject.pnumber=301

SELECTdnumber,mgrid,pnumberFROMDepartment,Project,Dep_pro

WHEREDepartment.dnumber=Dep_pro.dnumberAND

Project.pnumber=Dep_pro.pnumberAND

Project.pnumber=301

oracle导入导出,如何创建一个账户,并在这个账户中导入导出表

1.如何在数据库中创建一个账户:

第一,启动sql*puls第二,以system/manager登陆第三,createuser用户名IDENTIFIEDBY密码(例如:bione1/bione1)第四,GRANTCREATEUSER,DROPUSER,ALTERUSER,CREATEANYVIEW,DROPANYVIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATESESSIONTO用户名字

2.导入,导出

导入导出命令:Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle10i中安装目录ora101BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包

将D:\bione.dmp表中的数据导入到orcl数据库中。

(1)当创建完用户后,找到安装oracle的bin目录,例如C:\oracle\product\10.2.0\db_1\bin。

(2)打开cmd窗口,输入cdC:\oracle\product\10.2.0\db_1\bin,然后再输入:impbione1/bione1@orclfile=D:\bione.dmpignore=y;

(3)导入成功。

导出::(1)将数据库TEST完全导出,用户名system密码manager导出到D:daochu.dmp中expsystem/manager@TESTfile=d:daochu.dmpfull=y(2)将数据库中system用户与sys用户的表导出expsystem/manager@TESTfile=d:daochu.dmpowner=(system,sys)(3)将数据库中的表inner_notify、notify_staff_relat导出expaichannel/aichannel@TESTDB2file=d:datanewsmgnt.dmptables=(inner_notify,notify_staff_relat)(4)将数据库中的表table1中的字段filed1以"00"打头的数据导出expsystem/manager@TESTfile=d:daochu.dmptables=(table1)query="wherefiled1like'00%'"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面命令后面加上compress=y来实现。

1.eda

@a

通过记事本的方式编译:

Setlinesize300;

Setpagesize30;

2.

3.在sqlplus中也可以使用其他用户连接,例如之前了解过的sys和system用户;

使用如下命令:conn用户名/密码[ASSYSDBA/SYSOPER]

例如:connsystem/manager;连接system用户

Connsys/change_on_installassysdba;连接sys用户

4.如果在不同用户(scott用户/sys用户)下面想访问emp表的话,在必须加上用户名。即:表的完整名称:“scott.emp”

5.如果想知道当前连接的是哪个用户怎么办呢?

可以通过showuser;显示当前正在连接的用户是哪一个。

使用select*fromtab;查找数据库中有多少个表

用desc+表名的形式查看表的结构。

6.你可以输入一个“/”,表示重复执行上一条语句的操作。

7.上面的是在scott/tiger模式下面的操作,如果想进入hr模式,因为默认的hr模式已经被锁定,就需要对该用户模式解锁。

THE END
1.如何查找出重复的人名?如何使用查找替换功能 您好,若需在WPS程序中,快速地查找相关数据/文本内容,可以使用“查找”和“替换”功能。 1.在“开始”选项卡上,选择“查找选择”下拉列表中的“查找”或“替换”。 2. 或通过快捷键 Ctrl+F 或 Ctrl+H调出查找替换框 3. 键入查找或替换的内容:可以是数字或文本,支持通配符查找(目前仅WPShttps://www.wps.cn/learning/room/d/320441
2.Excel如何查重复人名?试试这两个高效技巧!工作中,经常要处理大量的数据,其中包括人员信息。而这些信息中,总会出现一些重复的人名,却不知道如何快速查找和删除,这给我们带来了很大的困扰。别担心,下面我将与大家分享两个高效技巧,轻松解决这一问题! 01第一种方法:WPS一键查重 首先,用鼠标选中【员工】列,切换到【数据】选项卡; https://cloud.tencent.com/developer/news/1438954
3.一键查询重名4、然后就会出现一个“新生儿重名查询”的选项,点击这个选项。 5、进入下个页面,点击“进入查询” 6、进入重名查询页面,输入姓名和验证码,然后点击查询就可以了。二、微信查询第一种方法:在微信添加公众号“xx(某城市的名字)本地宝”,比如添加“长沙本地宝”公众号,关注之后,就会出现一个聊天页面,然后在聊天对话https://m.pcauto.com.cn/baike/535395/1038641/
4.Excel名字查重筛选,查找重复内容原来这么简单 在处理大量数据时,尤其是人员名单或客户信息时,确保没有重复的名字是非常重要的。在Excel中,有几种方法可以帮助我们快速查找和处理重复的名字。今天,我们将介绍几种在Excel中进行名字查重的方法。通过…https://m.sohu.com/a/811199481_121267395/
5.全国名字相同查询系统如果满意的话,请采纳喽,You're wele! 帮我查询一下全国相同名字 叫颜孙郊的有614位多为女性 叫蔡文量9038位全是男的 怎么知道的不能告诉 如果你不知道就不要瞎写答案 如何知道全国有多少与我相同的名字 这个除了国家的系统,可以计算出来,那是普通百姓不可及的地方!https://www.lishixinzhi.com/bb/117423.html
6.淘宝同款怎么找到正版?有什么技巧?相信经常在淘宝上购物的小伙伴都知道,现在淘宝有找到相同商品的功能,很大程度上方便了用户购买。最近,一些朋友想用淘宝找到同样的物品正版,但他们不知道如何找到。那么淘宝同款的正版应该怎么找呢?下面就跟着我一起来了解一下技巧吧。 1、直接搜索衣服的名称 https://m.maijia.com/article/478453
7.Excel表格中如何快速找出相同的人名?BIM免费教程在Excel表格中,有时候我们需要查找某些数据是否存在重复,比如人名、地址、电话号码等。如果数据量很小,我们可以手动查找,但如果数据量很大,手动查找就会很麻烦,效率也很低。 因此,本文将介绍几种快速找出Excel表格中相同人名的方法。 方法一:使用条件格式 https://www.tuituisoft.com/office/48171.html
8.知道姓名怎么查询身份证号码除非说出能说服的理由,其次如果名字相同很多的还很难判断身份证号码。我们可以直接网页搜索身份证号码查询,然后在搜索结果里面会出现百度应用,直接输入你要查询的身份证号码。也能查询出身份证的一些基本信息。3另外每个省份城市的身份证前六位的号码都会是不一样的,这个可以到全国公民身份证号码查询服务中心的号码解读https://mip.64365.com/zs/1301850.aspx
9.大数据开发之SparkSQL面试篇1.有相同名字的字段必须要有相同的数据类型,忽略nullability。兼容处理的字段应该保持Parquet侧的数据类型,这样就可以处理到nullability类型了(空值问题) 2.兼容处理的schema应只包含在Hive元数据里的schema信息,主要体现在以下两个方面:(1)只出现在Parquet schema的字段会被忽略 (2)只出现在Hive元数据里的字段将会被视https://blog.itpub.net/70010293/viewspace-2851703/
10.大班社会教案《百家姓》(通用5篇)1).师:你有没有发现,刚才介绍的每一个名字都是由姓和名组成的。我姓胡(出示汉字胡),你姓什么? (引导幼儿说说自己的姓氏什么) (1)师的。你叫XXX,你姓x (2)你和我同姓,你好,我们握个手吧。 2).师:胡老师这里有一些中国字,这些中国字都是你们的姓,今天我要请你们找一找你的姓,请把自己的姓找出来https://yjbys.com/baijiaxing/2247501.html
11.幼儿园元旦节包饺子活动方案范文(通用18篇)6.找相同 玩法:家长首先按自己篮子里的物品特征、颜色等讲给自己的'孩子知道,音乐一起,孩子们到指定的篮子里找出与自己相同的物品,取好后把取到的物品放到家长的篮子里,在规定的时间内,看谁拿得最多,最多的一组为赢,就可以得到奖票一张。 规则:在指定的篮子里找出与自己相同的物品必须由幼儿自己来完成。 https://www.ruiwen.com/fangan/6653986.html
12.Thoughts自己经常分使用Everything来搜索文件与文件夹,它的速度非常快,也非常方便,但有些语法及技巧总是忘记,搜索网上教程一大把,但都是非常零散而且没有分类,有些技巧也很简单,很多都是标题党,大多是介绍官网或复制别人文章中一些皮毛技巧,没有实际案例,找了很久,都没有找一篇非常具体且分类清晰的EveryThing使用大全,所以https://thoughts.teambition.com/share/64782c66664ee90042384492
13.如何查询具有指定特性或名称的文件如何比较两个文件夹的内容 此示例演示了比较两个文件列表的 3 种方法: 通过查询布尔值指定两个文件列表是否相同。 通过查询交集检索同时存在于两个文件夹中的文件。 通过查询差集检索仅存在于一个文件夹中的文件。 此处的方法适用于比较任何类型的对象序列。 https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/how-to-query-for-files-with-a-specified-attribute-or-name
14.Excel怎么自动归类合计数量Excel归类相同名字的数据以上便是Excel怎么自动归类合计数量以及Excel归类相同名字的数据的方法。通过本篇文章,相信大家已经知道如何自动归类相同产品名称的销售数据,并计算每个产品的总销售数量和总销售额。也了解了如何根据需要自定义数据透视表的布局和设置,以满足自己的具体要求。总之,Excel的自动归类和合计功能可以帮助你更高效地处理和分析大量https://www.officesoftcn.com/excel/office-jwmn.html
15.幼儿园绘本教案(精选15篇)②引导幼儿逐一说说颜色朋友的'名字。 4、内页四:小蓝还有一个最要好的朋友,它是小黄。 5、内页五:小蓝和朋友的游戏——捉迷藏 ①幼儿观察图片并引导其大胆想象:小蓝和它的朋友经常在一起玩游戏,看看它们在干什么? ②幼儿参与捉迷藏游戏,能运用游戏语言“———快出来。” 6、https://www.diyifanwen.com/ja/780856.html
16.幼儿园大班社会活动教案大全(10篇)1、20名幼儿,其中有姓氏相同的幼儿。 2、黑白、记号笔、白纸。 3、名人照片,歌曲《百家姓》,《百家姓》一本。 4、写出20名幼儿的姓氏。 活动过程: 一、介绍自己的名字 师:我叫费蓓玲,介绍一下你叫是么名字好吗? 二、知道"百家姓"。 1、找自己的姓。 (1)师:你有没有发现,刚才介绍的每一个名字都是由姓https://www.51test.net/show/10019023.html
17.公众号如何申请同名的小程序电商资讯提到公众号如何申请同名的小程序,如果本身就是同一个主体申请和注册的话名字可以相同而且还支持多个相同的名字。我们登录微信公众官网后选择右侧的小程序选项,点击后按照流程开始注册时名字可以直接填写和我们公众号相同的名字且支持多个名字相同,比如我们公众号的名字是A的话,公众号绑定的多个小程序都可以命名为A。 https://www.youzan.com/cms/article/13709.html
18.凭一个姓名能找到本人吗于法律层面之范畴内,仅凭一人姓名来搜寻该人士实非易事。关于凭一个姓名能找到本人吗的问题,接下来 一、凭一个姓名能找到本人吗 从法律的角度来看,仅仅根据一个名字来寻找某个人的身份确实存在很大的困难性。 因为名字本身并不是一种能够唯一确认个人身份的标志,在中国,有着相同名字而且同样姓氏的人不在少数。 https://www.66law.cn/laws/2755019.aspx
19.边学边工作总结的前端笔记(HTML基础篇)边学边练html电子书name表单的名字, 这样,后台可以通过这个name属性找到这个表单。 页面中的表单很多,name主要作用就是用于区别不同的表单。 name属性后面的值,是我们自己定义的。 radio 如果是一组,我们必须给他们命名相同的名字 name 这样就可以多个选其中的一个啦 name属性,我们现在用的较少,但是,当我们学ajax 和后台的时候,是必https://blog.csdn.net/webxh6/article/details/117172006