精华内容
下载资源
问答
  • 使用jdbc创建一张员工表 员工表字段:编号,姓名,性别,年龄,职位,邮箱,电话 使用jdbc对员工表执行以下操作: 1)插入一条数据 2)修改一条数据 3)删除一条数据 4)查询并打印所有员工数据 ...

    使用jdbc创建一张员工表
    员工表字段:编号,姓名,性别,年龄,职位,邮箱,电话

    使用jdbc对员工表执行以下操作:
    1)插入一条数据
    2)修改一条数据
    3)删除一条数据
    4)查询并打印所有员工数据


    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import org.junit.Test;
    
    public class WorkerTable {
    
    	private String url = "jdbc:mysql://localhost:3306/tablename";
    	private String user = "****";
    	private String password = "****";
    
    	@Test
    	public void test() {
    
    		Statement stmt = null;
    		Connection conn = null;
    
    		try {
    			// 1.驱动注册程序
    			Class.forName("com.mysql.jdbc.Driver");
    
    			// 2.获取连接对象
    			conn = DriverManager.getConnection(url, user, password);
    
    			// 3.创建Statement
    			stmt = conn.createStatement();
    
    			// 4.准备sql
    //			String sql = "CREATE TABLE worker(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),gender VARCHAR(8))";
    //			String sql = "INSERT INTO `day01`.`worker` (`id`, `name`, `gender`) VALUES (2, 'zhangsan', 20)";
    //			String sql = "UPDATE `day01`.`worker` SET `id`='2', `name`='lisi', `gender`='女' WHERE (`id`='2')";
    			String sql = "DELETE FROM worker WHERE id = 2";
    			
    			// 5.发送sql语句,执行sql语句,得到返回结果
    			int count = stmt.executeUpdate(sql);
    
    			// 6.输出
    			System.out.println("影响了" + count + "行!");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			// throw new RuntimeException(e);
    		} finally {
    			// 7.关闭连接(顺序:后打开的先关闭)
    			if (stmt != null)
    				try {
    					stmt.close();
    				} catch (SQLException e) {
    					e.printStackTrace();
    					// throw new RuntimeException(e);
    				}
    			if (conn != null)
    				try {
    					conn.close();
    				} catch (SQLException e) {
    					e.printStackTrace();
    					// throw new RuntimeException(e);
    				}
    		}
    	}
    
    }
    
    展开全文
  • 第2部分 数据库SQL语言怎样扩展数据表字段? 【文章摘要】        在通信类软件中,常常会与数据库打交道。由于需求变化,或者是程序优化升级等原因,对数据表字段进行扩展...

    第2部分 数据库SQL语言

    怎样扩展数据表字段?

     

    【文章摘要】

            在通信类软件中,常常会与数据库打交道。由于需求变化,或者是程序优化升级等原因,对数据表字段进行扩展是常有的事情。

    这就要求开发者必须熟练掌握对数据表字段进行扩展的操作流程。

            本文基于作者的数据库方面的工作经验,以实际的SQL程序为例,具体介绍了怎样对对数据表字段进行扩展,为相关的开发工作提供了參考。

    【关键词】

            数据库  数据表  扩展  SQL  开发

     

    一、前言

            在实际的软件开发项目中,对数据表字段的扩展包括例如以下两个方面:

            第一,对原有字段值的扩展。比如,原表有一个字段“result”,表示结果,之前的取值为0和1,如今要扩展其取值范围。加入一个结果值2。对于此类扩展,数据表的结构不用动,仅仅须要让相关模块知道有这个值的扩展就可以。

            第二,新添加字段。即原来表已有的字段不能满足当前的要求。须要新增一个或几个字段,这就涉及到数据表结构的改变。

            本文主要讨论另外一种情况下数据表字段扩展的流程和操作方法。本文中的全部脚本都是基于Sybase数据库。

     

    二、数据表字段扩展的流程

            对于新增字段的情况。不能通过简单的删除表和重建表来完毕。由于在实际的软件执行环境中。差点儿每一个数据表里面都会有非常多的数据。假设无论三七二十一,将表删除了。会导致某些关键数据的丢失,造成极为不良的影响,甚至会引起客户的投诉。

            在实际的软件开发项目中,对数据表字段的扩展流程如图1所看到的。

    图1 对数据表字段的扩展流程

     

    三、数据表字段扩展操作演示样例

            有一个员工信息表,包括了工号、姓名和年龄三个字段,例如以下所看到的:

    create table tb_employeeinfo

    (

        workid    int                default(0)  not null,  -- workid

        name     varchar(50)  default('')   not null,  -- name

        age        int                 default(0)  not null    -- age

    )

    go

     

    create unique index idx1_tb_employeeinfo on tb_employeeinfo(workid)

    go

     

    print 'create table tb_employeeinfo ok'

    go

     

            如今须要在原表的基础之上扩展一个地址(address)字段,用于记录员工的居住地址,该字段能够为空。

            整个字段扩展的执行SQL脚本例如以下:

    -- 第一步: 创建备份表

    if exists(select * from sysobjects where name='tb_employeeinfobak')

        drop table tb_employeeinfobak

    go

    create table tb_employeeinfobak

    (

        workid    int                default(0)   not null,  -- workid

        name      varchar(50)  default('')   not null,  -- name

        age       int                  default(0)  not null   -- age

    )

    go

     

    create unique index idx1_tb_employeeinfobak on tb_employeeinfobak(workid)

    go

     

    print 'create table tb_employeeinfobak ok'

    go

     

    -- 第二步: 将原表内容插入到备份表中

    insert into tb_employeeinfobak(workid, name, age) select workid, name, age from tb_employeeinfo

    go

     

    -- 第三步: 将原表删除掉

    if exists(select * from sysobjects where name='tb_employeeinfo')

        drop table tb_employeeinfo

    go

     

    -- 第四步: 创建新表

    create table tb_employeeinfo

    (

        workid       int                 default(0)  not null,    -- workid

        name        varchar(50)   default('')   not null,    -- name

        age          int                 default(0)  not null,     -- age

        address   varchar(100)                        null     -- address

    )

    go

     

    create unique index idx1_tb_employeeinfo on tb_employeeinfo(workid)

    go

     

    print 'create table tb_employeeinfo ok'

    go

     

    -- 第五步: 将备份表内容插入到新表中

    insert into tb_employeeinfo(workid, name, age) select workid, name, age from tb_employeeinfobak

    go

     

    -- 第六步: 删除备份表

    if exists(select * from sysobjects where name='tb_employeeinfobak')

        drop table tb_employeeinfobak

    go

     

            经过以上六个步骤,即实现了对数据表的字段扩展。而且原来的数据也没有丢失。

     

    四、总结

            本文以实际的SQL脚本为例,具体介绍了对数据表字段进行扩展的整个流程。为相关软件开发活动的开展提供了故意的參考。

     

     

    展开全文
  • A表字段更新为B表字段

    千次阅读 2018-04-24 11:40:05
    案列场景:更新员工表(sec.sec_staff)的short_name字段值,short_name的值由甲方人员提供(Excel表格)。为实现通过SQL修改,创建临时表sec.sec_staff_temp,sec.sec_staff表结构及Excel详细数据此处略过,sql如下...

    案列场景:更新员工表(sec.sec_staff)的short_name字段值,short_name的值由甲方人员提供(Excel表格)。为实现通过SQL修改,创建临时表sec.sec_staff_temp,sec.sec_staff表结构及Excel详细数据此处略过,sql如下:

    
    

    --1.修改SQL update sec.sec_staff a set a.short_name = (select b.staffnew from sec.sec_staff_temp b where to_char(a.staff_id) = b.staffold) where exists (select b.staffold from sec.sec_staff_temp b where to_char(a.staff_id) = b.staffold); --2.校验修改行数 select count(1) from sec.sec_staff a,sec.sec_staff_temp b where to_char(a.staff_id) = to_char(b.staffold); --3.对比差异数据 select b.staffnew,b.staffold from sec.sec_staff_temp b left join sec.sec_staff a on b.staffold = to_char(a.staff_id);

    SQL详解:

    T1表 结构
    id      name       school
    1       ming1      清华大学
    2       ming2       北京大学
    3       ming3       复旦大学
     
    T2表  结构
    id      student    school
    11     ming1      牛津大学
    12     ming3       剑桥大学
     
    T1表的name 和 T2表的 student  值是 1对1 的对应。
    需求:这两个字段的值相同时,根据B表的school更新A表的school。
    语句:
    update t1  set school = (select school from t2 where name=student) where  exists (select * from t2 as b where name = b.student);
    结果:
     
    T1表 结构
    id      name       school
    1       ming1      牛津大学
    2       ming2       北京大学
    3       ming3       剑桥大学

    

    展开全文
  • 数据库表字段介绍

    2014-12-31 22:06:49
    数据库表字段介绍 ① Categories:种类表  相应字段:  CategoryID :类型ID;  CategoryName:类型名;  Description:类型说明;  Picture:产品样本 ② CustomerCustomerDemo:客户类型表1  ...

    数据库表字段介绍

    ① Categories:种类表 

    相应字段: 
    CategoryID :类型ID; 
    CategoryName:类型名; 
    Description:类型说明; 
    Picture:产品样本

    ② CustomerCustomerDemo:客户类型表1 
    相应字段: 
    CustomerID:客户ID; 
    CustomerTypeID:客户类型ID

    ③ CustomerDemographics:客户类型表2 
    相应字段: 
    CustomerTypeID:客户类型ID; 
    CustomerDesc:客户描述

    ④ Customers:客户表 
    相应字段: 
    CustomerID:客户ID; 
    CompanyName:所在公司名称; 
    ContactName:客户姓名; 
    ContactTitle:客户头衔; 
    Address:联系地址; 
    City:所在城市; 
    Region:所在地区; 
    PostalCode:邮编; 
    Country:国家 
    Phone:电话; 
    Fax:传真

    ⑤ Employees:员工表 
    相应字段: 
    EmployeeID:员工代号; 
    LastName + FirstName:员工姓名; 
    Title:头衔; 
    TitleOfCourtesy:尊称; 
    BirthDate:出生日期; 
    HireDate:雇用日期; 
    Address:家庭地址; 
    City:所在城市; 
    Region:所在地区; 
    PostalCode:邮编; 
    Country:国家用; 
    HomePhone:宅电; 
    Extension:分机; 
    Photo:手机; 
    notes:照片; 
    ReportsTo:上级; 
    PhotoPath:照片

    ⑥ EmployeeTerritories:员工部门表 
    相应字段: 
    EmployeeID:员工编号; 
    TerritoryID:部门代号

    ⑦ Order Details:订单明细表 
    相应字段: 
    OrderID:订单编号; 
    ProductID:产品编号; 
    UnitPrice:单价; 
    Quantity:订购数量; 
    Discount:折扣

    ⑧ Orders:订单表 
    相应字段: 
    OrderID:订单编号; 
    CustomerID:客户编号; 
    EmployeeID:员工编号; 
    OrderDate:订购日期; 
    RequiredDate:预计到达日期; 
    ShippedDate:发货日期; 
    ShipVia:运货商; 
    Freight:运费; 
    ShipName:货主姓名; 
    ShipAddress:货主地址 
    ShipCity:货主所在城市; 
    ShipRegion:货主所在地区; 
    ShipPostalCode:货主邮编; 
    ShipCountry:货主所在国家

    ⑨ Products:产品表 
    相应字段: 
    ProductID:产品ID; 
    ProductName:产品名称; 
    SupplierID:供应商ID; 
    CategoryID:类型ID; 
    QuantityPerUnit:数量; 
    UnitPrice:单价; 
    UnitsInStock:库存数量; 
    UnitsOnOrder:订购量; 
    ReorderLevel:再次订购量; 
    Discontinued:中止

    ⑩ Region:地区表 
    相应字段: 
    RegionID:地区ID; 
    RegionDescription:地区描述

    11 Shippers:运货商 
    相应字段: 
    ShipperID:运货商ID; 
    CompanyName:公司名称; 
    Phone:联系电话

    12 Suppliers:供应商表 
    相应字段: 
    ShipperID:供应商ID; 
    CompanyName:供应商姓名; 
    Phone;联系电话

    13 Territories:地域表 
    相应字段: 
    TerritoryID:地域编号; 
    TerritoryDescription:地域描述; 
    RegionID:地区编号

    展开全文
  • 让你提前认识软件开发(36):如何扩展数据表字段

    千次阅读 多人点赞 2014-07-13 21:05:45
    第2部分 数据库SQL语言如何扩展数据表字段? 【文章摘要】 在通信类软件中,经常会与数据库打交道。由于需求变化,或者是程序优化升级等原因,对数据表字段进行扩展是常有的事情。这就要求开发人员必须熟练掌握对...
  • 表字段操作与表关系

    2019-10-09 01:50:12
    表字段的详细操作 特殊表 (mysql.user) => 用户管理 ''' # 操作前提:登录root用户 ​ 1.重要字段 Host | User | Password ​ 2.新建用户 create user 用户名@主机名 identified by '密码'; # 正确 create ...
  • 细粒度的数据权限不光是数据库表数据行的访问控制,还要有表字段列的访问控制。举个例子:我有个员工表,A用户能查询5条记录,B用户能查询10条记录,但看不见记录中工资字段里的数据,C用户也能查询10条记录,但能...
  • 防止一个表字段太多,有时可以拆分到另一个扩展信息表里面去。 外键设计技巧与规范 为了实现灵活的sql,满足业务要求,以及后期发展,所以开始在设计表外键关系时就一定要遵守规范。 一对一 一个用户只有一...
  • ⑥ EmployeeTerritories:员工部门表 相应字段: EmployeeID:员工编号; TerritoryID:部门代号 ⑦ Order Details:订单明细表 相应字段: OrderID:订单编号; ProductID:产品编号; ...
  • 第2部分 数据库SQL语言怎样扩展数据表字段?【文章摘要】 在通信类软件中,常常会与数据库打交道。由于需求变化,或者是程序优化升级等原因,对数据表字段进行扩展是常有的事情。这就要求开发者必须熟练掌握对数据...
  • 互联网金融之数据库表字段词根表

    千次阅读 2019-02-13 09:35:15
    员工人数 employees_count com_emp_count number   50 和本人关系 contact_relation con_relation varchar2(2) 字典表。联系人可以是多个,分别录入相应信息 ...
  • JDBC之简单的读取表字段

    千次阅读 2017-10-28 11:21:20
    " t1.sal as 员工工资,t2.dname as 部门名称,t2.loc as 办公地点 " + " from martin_emp t1 join " + " martin_dept t2 on " + " t1.deptno = t2.deptno " + " where to_char(hiredate,'yyyy')" + ...
  • 1、查找用户表 select table_name,num_rows from all_tables where OWNER='TIGER' AND TABLE_NAME like '%MASTER' ...2、查找用户表字段 select * from user_tab_columns where DATA_TYPE='CHAR' and DATA...
  • 再站在部门表角度 问:一个部门能否对应多名员工 答:可以 结论:两边一个可以一个不可以 那么表关系就是"一对多" ''' 针对一对多表关系 外键字段建在多的一方(建在员工表中) 关联方式:foreign key ''' 2....
  • A表 员工部门中间表 B表 员工考勤表 背景:员工考勤表 部门id字段缺失,批量修复B表数据,填充部门id sql UPDATE Bb INNER JOIN A aON a.staff_id = CONVERT ( b.staff_id USING utf8 ) COLLATE utf8_unicode_...
  • 通过已知人员编号和人员名称修改人员信息表和...员工编号 in('..','..') and h.人员基本信息主键=b.人员信息主键 ) where 人员基本信息主键 in( select 人员基本信息主键 from 人员基本信息表 where 编号 in('','') )
  • 例如:到帐记录表:B_Financial员工表:B_Employees 现在情况:B_Financial新增字段DepartmentID,则需要把B_Employees的DepartmentID更新到表:B_Financial的DepartmentID字段中 update B_Financialset DepartmentID=...
  • 第一个表_admin (管理员) userid 用户名id username 用户名 grade 用户级别 purviewids modules 模块 channelids 频道ID catids 栏目ID specialids 专题ID disabled 禁用(0为否,1为是) ......
  • ScottBONUS表(工资表)ENAME是雇员姓名.最多由10个字符所组成;JOB是雇员职位最多由9个字符所组成;SAL是雇员基本工资.NUMBER表示数字位数没有限制;COMM是奖金、提成.NUMBER表示数字位数没有限制;...
  • # 查询各岗位内包含的员工个数小于2的岗位名、岗位内包含员工名字、个数 select post,count(*) from employee group by post having count(id)>2; +-----------+----------+ | post | count(*) | &#...
  • 一、索引  1.为了方便快速查找数据表中的记录,索引也是数据库中的一个对象,索引内部信息包含记录的rowid,相当于地址信息。...--练习:创建索引,使用员工表中的部门号和员工编号  create index...
  • 三、修改表字段 1.增加字段 alter table `t_app` add column gateway_id int not null default 0 AFTER `aid`; #(在哪个字段后面添加)   2.删除字段 alter table t_app drop aid;   3.修改...
  • 我看到了一个类似的问题,不解答的不是Oracle 现在有两个表,表a中 aid 主管领导 1 1,2,3 2 2,4 表b中 bid 姓名 1 李一 2 刘二 3 张三 4 
  • 文章目录员工表字段说明 员工表 CREATE TABLE `tf_company_employee` ( `employee_id` bigint(20) NOT NULL COMMENT '职员Id', `employee_no` varchar(15) NOT NULL COMMENT '职员编号', # (补)管理员自定义,...
  • 一张是工资表T_WAGE_INFO,字段有ID,USER_ID(关联员工表字段),SALERY(工资),MONTH(月份);1、查询每位员工最近一个月发工资的情况:SELECT e.NAME,MAX(d.MONTH),d.* from T_EMP_INFO e LEFT JOIN T_WAGE_INFO d ...
  • 员工表字段 EmployeeId PerantId LoginName Name ...例如 A ——————————————————————1 A_1 ————————————————————2 A_2 A_3 A_3_1 ————————————————...
  • 员工表字段emp : 主键id, 员工姓名empname 部门表字段dept : 主键id, 部门名称name 其中任务表, 四个外键(oid,eid,did1,did2)关联三张表(orders,emp,dept) 需求: 查询任务详情, 订单名称, 员工姓名, 任务实施部门...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,496
精华内容 1,798
关键字:

员工表字段