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

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

Jun 07, 2016 pm 03:58 PM
bagaimana Padang Kembangkan lembaran data pembangunan perisian

第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,欢迎关注!)

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dari awal hingga akhir: Cara menggunakan cURL sambungan php untuk membuat permintaan HTTP Dari awal hingga akhir: Cara menggunakan cURL sambungan php untuk membuat permintaan HTTP Jul 29, 2023 pm 05:07 PM

Dari awal hingga akhir: Cara menggunakan cURL sambungan php untuk permintaan HTTP Pengenalan: Dalam pembangunan web, selalunya perlu untuk berkomunikasi dengan API pihak ketiga atau pelayan jauh lain. Menggunakan cURL untuk membuat permintaan HTTP ialah cara yang biasa dan berkesan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melanjutkan cURL untuk melaksanakan permintaan HTTP dan menyediakan beberapa contoh kod praktikal. 1. Penyediaan Pertama, pastikan php telah memasang sambungan cURL. Anda boleh melaksanakan php-m|grepcurl pada baris arahan untuk menyemak

Sambungan dan modul pihak ketiga untuk fungsi PHP Sambungan dan modul pihak ketiga untuk fungsi PHP Apr 13, 2024 pm 02:12 PM

Untuk melanjutkan fungsi fungsi PHP, anda boleh menggunakan sambungan dan modul pihak ketiga. Sambungan menyediakan fungsi dan kelas tambahan yang boleh dipasang dan didayakan melalui pengurus pakej pecl. Modul pihak ketiga menyediakan fungsi khusus dan boleh dipasang melalui pengurus pakej Komposer. Contoh praktikal termasuk menggunakan sambungan untuk menghuraikan data JSON yang kompleks dan menggunakan modul untuk mengesahkan data.

Bagaimana untuk memasang sambungan mbstring di bawah CENTOS7? Bagaimana untuk memasang sambungan mbstring di bawah CENTOS7? Jan 06, 2024 pm 09:59 PM

1.UncaughtError:Calltoundefinedfunctionmb_strlen(); Apabila ralat di atas berlaku, ini bermakna kami belum memasang sambungan mbstring 2. Masukkan direktori pemasangan PHP cd/temp001/php-7.1.0/ext/mbstring 3. Mulakan phpize(; /usr/local/bin /phpize atau /usr/local/php7-abel001/bin/phpize) arahan untuk memasang sambungan php 4../configure--with-php-config=/usr/local/php7-abel

Trend Transformatif: Kepintaran Buatan Generatif dan Kesannya terhadap Pembangunan Perisian Trend Transformatif: Kepintaran Buatan Generatif dan Kesannya terhadap Pembangunan Perisian Feb 26, 2024 pm 10:28 PM

Peningkatan kecerdasan buatan memacu perkembangan pesat pembangunan perisian. Teknologi berkuasa ini berpotensi untuk merevolusikan cara kami membina perisian, dengan kesan yang meluas pada setiap aspek reka bentuk, pembangunan, ujian dan penggunaan. Bagi syarikat yang cuba memasuki bidang pembangunan perisian dinamik, kemunculan teknologi kecerdasan buatan generatif memberikan mereka peluang pembangunan yang belum pernah terjadi sebelumnya. Dengan menggabungkan teknologi canggih ini ke dalam proses pembangunan mereka, syarikat boleh meningkatkan kecekapan pengeluaran dengan ketara, memendekkan masa produk untuk memasarkan dan melancarkan produk perisian berkualiti tinggi yang menonjol dalam pasaran digital yang sangat kompetitif. Menurut laporan McKinsey, saiz pasaran kecerdasan buatan generatif dijangka mencecah AS$4.4 trilion menjelang 2031. Ramalan ini bukan sahaja menggambarkan arah aliran, tetapi juga menunjukkan teknologi dan landskap perniagaan.

Bagaimanakah jenis fungsi PHP mengembalikan nilai berkaitan dengan kebolehoperasian sambungan PHP? Bagaimanakah jenis fungsi PHP mengembalikan nilai berkaitan dengan kebolehoperasian sambungan PHP? Apr 15, 2024 pm 09:06 PM

Jenis nilai pulangan fungsi PHP boleh dinyatakan sebagai sintaks perihalan jenis, yang dengan jelas menentukan jenis nilai pulangan bagi setiap fungsi. Memahami jenis nilai pulangan adalah penting untuk mencipta sambungan yang serasi dengan enjin teras PHP, mengelakkan penukaran yang tidak dijangka, meningkatkan kecekapan dan meningkatkan kebolehbacaan kod. Khususnya, fungsi sambungan boleh menentukan jenis nilai pulangan supaya enjin PHP boleh mengoptimumkan pelaksanaan kod berdasarkan jenis itu dan membenarkan pembangun mengendalikan nilai pulangan secara eksplisit. Dalam amalan, fungsi sambungan boleh mengembalikan objek PHP, dan kod PHP boleh mengendalikan hasil yang dikembalikan mengikut jenis nilai pulangan.

Aplikasi Kecerdasan Buatan dalam Pembangunan Perisian: Automasi dan Pengoptimuman Aplikasi Kecerdasan Buatan dalam Pembangunan Perisian: Automasi dan Pengoptimuman Sep 02, 2023 pm 01:53 PM

Sebagai teknologi termaju, kecerdasan buatan (AI) menunjukkan potensi besar dalam pelbagai bidang. Dalam bidang pembangunan perisian, aplikasi kecerdasan buatan juga telah menarik perhatian yang meluas. Daripada mengautomasikan tugas kepada pengoptimuman kod, AI membawa banyak cara inovatif untuk pembangun meningkatkan kecekapan, kualiti dan kreativiti. Artikel ini akan meneroka aplikasi kecerdasan buatan dalam pembangunan perisian, memfokuskan pada pembangunan automasi dan pengoptimuman Tugas automasi 1. Penjanaan kod Dengan mempelajari asas kod sedia ada, kecerdasan buatan boleh menjana coretan kod atau modul lengkap secara automatik. Ini sangat membantu pembangun untuk mencipta rangka kerja asas dengan cepat, menjimatkan masa dan usaha. Contohnya, sesetengah alatan AI boleh menjana kod boilerplate berdasarkan keperluan, membolehkan pembangun bekerja lebih cepat2

Sebab dan penyelesaian mengapa pemacu D tidak boleh dikembangkan dalam sistem win11 Sebab dan penyelesaian mengapa pemacu D tidak boleh dikembangkan dalam sistem win11 Jan 08, 2024 pm 12:30 PM

Sesetengah pengguna merasakan bahawa ruang pemacu d mereka tidak mencukupi dan ingin mengembangkan ruang pemacu d Walau bagaimanapun, semasa operasi, mereka mendapati bahawa pemacu win11d mereka tidak dapat dikembangkan dan volum lanjutan adalah kelabu, ini mungkin disebabkan oleh ruang cakera tidak mencukupi Mari kita lihat penyelesaian di bawah. Mengapa cakera win11d tidak boleh dikembangkan: 1. Ruang tidak mencukupi 1. Pertama sekali, untuk mengembangkan cakera d, anda perlu memastikan bahawa cakera anda mempunyai "ruang yang tersedia", seperti yang ditunjukkan dalam rajah. 2. Jika tidak ada ruang yang tersedia seperti ini, maka secara semula jadi tidak ada cara untuk berkembang. 3. Jika anda ingin mengembangkan pemacu D pada masa ini, anda boleh mencari cakera lain, klik kanan dan pilih "Mampatkan Kelantangan" 4. Masukkan ruang yang anda ingin kembangkan untuk memampatkan, dan kemudian klik "OK" untuk mendapatkan ruang yang ada. 2. Cakera tidak bersebelahan 1. Untuk mengembangkan cakera, anda boleh

Apakah yang perlu saya lakukan jika sambungan yang dipaparkan di penjuru kanan sebelah atas pelayar Sogou tiada? Apakah yang perlu saya lakukan jika sambungan yang dipaparkan di penjuru kanan sebelah atas pelayar Sogou tiada? Jan 31, 2024 pm 02:54 PM

Apakah yang perlu saya lakukan jika sambungan yang dipaparkan di sudut kanan atas Pelayar Sogou tiada Bar sambungan Pelayar Sogou. Bagaimana saya boleh memaparkannya? Terdapat bar sambungan di penjuru kanan sebelah atas Pelayar Sogou, yang memaparkan pelbagai sambungan yang telah dimuat turun dan dipasang oleh pengguna Walau bagaimanapun, disebabkan oleh beberapa operasi kami, bar sambungan tiada. Bagaimana kita mengendalikannya supaya ia akan dipaparkan! Editor di bawah telah menyusun penyelesaian untuk perkara yang perlu dilakukan jika sambungan yang dipaparkan di penjuru kanan sebelah atas pelayar Sogou tiada. Jika tidak, ikuti saya dan teruskan membaca! Apakah yang perlu saya lakukan jika sambungan yang dipaparkan di penjuru kanan sebelah atas Pelayar Sogou tiada tetikus untuk mengklik pada ikon. 2. Selepas mengklik, tetingkap menu akan muncul di bawah.

See all articles