데이터 베이스 MySQL 튜토리얼 让你提前认识软件开发(36):如何扩展数据表字段?

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

Jun 07, 2016 pm 03:58 PM
어떻게 필드 확장하다 데이터 시트 소프트웨어 개발

第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脚本为例,详细介绍了对数据表字段进行扩展的整个流程,为相关软件开发活动的开展提供了有益的参考。 

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

처음부터 끝까지: PHP 확장 cURL을 사용하여 HTTP 요청을 만드는 방법 처음부터 끝까지: PHP 확장 cURL을 사용하여 HTTP 요청을 만드는 방법 Jul 29, 2023 pm 05:07 PM

처음부터 끝까지: HTTP 요청에 PHP 확장 cURL을 사용하는 방법 소개: 웹 개발에서는 종종 타사 API 또는 기타 원격 서버와 통신해야 합니다. cURL을 사용하여 HTTP 요청을 하는 것은 일반적이고 강력한 방법입니다. 이 기사에서는 PHP를 사용하여 cURL을 확장하여 HTTP 요청을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다. 1. 준비 먼저 php에 cURL 확장이 설치되어 있는지 확인하세요. 명령줄에서 php-m|grepcurl을 실행하여 확인할 수 있습니다.

PHP 함수용 확장 및 타사 모듈 PHP 함수용 확장 및 타사 모듈 Apr 13, 2024 pm 02:12 PM

PHP 함수 기능을 확장하려면 확장 기능과 타사 모듈을 사용할 수 있습니다. 확장은 pecl 패키지 관리자를 통해 설치하고 활성화할 수 있는 추가 기능과 클래스를 제공합니다. 타사 모듈은 특정 기능을 제공하며 Composer 패키지 관리자를 통해 설치할 수 있습니다. 실제 예로는 확장 기능을 사용하여 복잡한 JSON 데이터를 구문 분석하고 모듈을 사용하여 데이터 유효성을 검사하는 것이 포함됩니다.

CENTOS7에서 mbstring 확장을 설치하는 방법은 무엇입니까? CENTOS7에서 mbstring 확장을 설치하는 방법은 무엇입니까? Jan 06, 2024 pm 09:59 PM

1.UncaughtError:Calltoundefinitivefunctionmb_strlen(); 위의 오류가 발생하면 mbstring 확장이 설치되지 않았음을 의미합니다. 2. PHP 설치 디렉터리 cd/temp001/php-7.1.0/ext/mbstring을 입력합니다. 3. phpize( /usr/local/bin /phpize 또는 /usr/local/php7-abel001/bin/phpize) PHP 확장 4를 설치하는 명령../configure--with-php-config=/usr/local/php7-abel

변혁적 추세: 생성 인공 지능(Generative Artificial Intelligence)과 그것이 소프트웨어 개발에 미치는 영향 변혁적 추세: 생성 인공 지능(Generative Artificial Intelligence)과 그것이 소프트웨어 개발에 미치는 영향 Feb 26, 2024 pm 10:28 PM

인공지능의 등장은 소프트웨어 개발의 급속한 발전을 주도하고 있습니다. 이 강력한 기술은 설계, 개발, 테스트 및 배포의 모든 측면에 광범위한 영향을 미치면서 소프트웨어 구축 방식을 혁신할 수 있는 잠재력을 가지고 있습니다. 역동적인 소프트웨어 개발 분야에 진출하려는 기업에게 생성 인공 지능 기술의 출현은 전례 없는 개발 기회를 제공합니다. 이 최첨단 기술을 개발 프로세스에 통합함으로써 기업은 생산 효율성을 크게 높이고 제품 출시 시간을 단축하며 치열한 경쟁이 벌어지는 디지털 시장에서 두각을 나타내는 고품질 소프트웨어 제품을 출시할 수 있습니다. 맥킨지 보고서에 따르면 생성 인공지능 시장 규모는 2031년 4조4000억 달러에 이를 것으로 예상된다. 이 예측은 추세를 반영할 뿐만 아니라 기술 및 비즈니스 환경도 보여줍니다.

PHP 함수 반환 값의 유형은 PHP 확장의 상호 운용성과 어떤 관련이 있습니까? PHP 함수 반환 값의 유형은 PHP 확장의 상호 운용성과 어떤 관련이 있습니까? Apr 15, 2024 pm 09:06 PM

PHP 함수 반환 값 유형은 각 함수의 반환 값 유형을 명확하게 지정하는 유형 설명 구문으로 표현될 수 있습니다. 반환 값 유형을 이해하는 것은 PHP 코어 엔진과 호환되는 확장을 생성하고, 예기치 않은 변환을 방지하고, 효율성을 개선하고, 코드 가독성을 높이는 데 중요합니다. 특히 확장 함수는 PHP 엔진이 해당 유형을 기반으로 코드 실행을 최적화하고 개발자가 명시적으로 반환 값을 처리할 수 있도록 반환 값 유형을 정의할 수 있습니다. 실제로 확장 함수는 PHP 개체를 반환할 수 있으며, PHP 코드는 반환 값 유형에 따라 반환된 결과를 처리할 수 있습니다.

소프트웨어 개발의 인공 지능 애플리케이션: 자동화 및 최적화 소프트웨어 개발의 인공 지능 애플리케이션: 자동화 및 최적화 Sep 02, 2023 pm 01:53 PM

인공지능(AI)은 최첨단 기술로서 다양한 분야에서 큰 잠재력을 보이고 있습니다. 소프트웨어 개발 분야에서도 인공지능의 활용이 큰 주목을 받고 있다. 작업 자동화부터 코드 최적화까지 AI는 개발자가 효율성, 품질 및 창의성을 높일 수 있는 다양한 혁신적인 방법을 제공합니다. 이 기사에서는 자동화 및 최적화 개발에 초점을 맞춰 소프트웨어 개발에 인공 지능을 적용하는 방법을 살펴보겠습니다. 자동화 작업 1. 코드 생성 인공 지능은 기존 코드 기반을 학습하여 자동으로 코드 조각을 생성하거나 심지어 모듈을 완성할 수도 있습니다. 이는 개발자가 기본 프레임워크를 신속하게 생성하여 시간과 노력을 절약하는 데 매우 유용합니다. 예를 들어, 일부 AI 도구는 요구 사항에 따라 상용구 코드를 생성하여 개발자가 더 빠르게 작업할 수 있도록 해줍니다2

win11 시스템에서 D 드라이브를 확장할 수 없는 이유와 해결 방법 win11 시스템에서 D 드라이브를 확장할 수 없는 이유와 해결 방법 Jan 08, 2024 pm 12:30 PM

일부 사용자는 d 드라이브 공간이 충분하지 않다고 생각하여 d 드라이브 공간을 확장하고 싶어하지만 작업 중에 win11d 드라이브를 확장할 수 없으며 실제로 확장된 볼륨이 회색으로 표시되는 경우도 있습니다. 디스크 공간이 부족합니다. 아래 해결 방법을 살펴보겠습니다. win11d 디스크를 확장할 수 없는 이유: 1. 공간 부족 1. 우선 d 디스크를 확장하려면 그림과 같이 디스크에 "사용 가능한 공간"이 있는지 확인해야 합니다. 2. 이렇게 여유 공간이 없으면 당연히 확장할 방법이 없습니다. 3. 이때 D 드라이브를 확장하려면 다른 디스크를 찾아 마우스 오른쪽 버튼을 클릭하고 "볼륨 압축"을 선택하십시오. 4. 확장하려는 공간을 입력하여 압축한 다음 "확인"을 클릭하여 압축을 얻으십시오. 사용 가능한 공간. 2. 디스크가 인접하지 않습니다. 1. 디스크를 확장하려면 다음을 수행합니다.

Sogou 브라우저 오른쪽 상단에 표시된 확장 프로그램이 누락된 경우 어떻게 해야 합니까? Sogou 브라우저 오른쪽 상단에 표시된 확장 프로그램이 누락된 경우 어떻게 해야 합니까? Jan 31, 2024 pm 02:54 PM

Sogou 브라우저의 오른쪽 상단에 표시된 확장 기능이 누락된 경우 어떻게 해야 합니까? Sogou 브라우저의 확장 기능 표시줄이 누락된 경우 어떻게 해야 합니까? 소고우 브라우저 오른쪽 상단에 확장 바가 있는데, 사용자가 다운로드하여 설치한 다양한 확장 기능이 표시됩니다. 그런데 당사의 일부 작업으로 인해 확장 바가 보이지 않습니다. 어떻게 해야 합니까? 표시되도록 하려면 어떻게 조작해야 할까요? 아래 편집기는 Sogou 브라우저의 오른쪽 상단에 표시된 확장 프로그램이 누락된 경우 해결 방법을 정리했습니다. 그렇지 않은 경우 저를 따라가서 읽어보세요! Sogou 브라우저 오른쪽 상단에 표시되는 확장 프로그램이 누락된 경우 어떻게 해야 하나요? 1. 먼저 Sogou 브라우저를 열면 브라우저 오른쪽 상단에 세 개의 가로선으로 구성된 "메뉴 표시" 아이콘이 표시됩니다. 마우스로 아이콘을 클릭하세요. 2. 클릭하면 아래와 같은 메뉴창이 나타납니다.

See all articles