将数据库所有表和字段首字母变成大写

随着数据库的规模越来越大,数据库的表也有成百上千,如果需要对数据库表名及字段名做操作,单个还好,直接一条语句搞定了,但如果要对整个库的所有表和字段名做操作,那就显得有点麻烦了。因此,我们需要利用sql语句做批量表名字段名修改操作。

首先,来了解一下数据库中读取表名字段名的函数: 
1.获取所有数据库名: 
Select Name FROM Master..SysDatabases

2.获取所有表名: 
select name from sysobjects where type=‘U‘ 
XType=‘U‘:表示所有用户表; 
XType=‘S‘:表示所有系统表;

3.获取所有字段名: 
Select Name from SysColumns Where id=Object_Id(‘TableName‘)

接下来可以用游标来实现修改所有表明和字段名:

declare @tablename varchar(50) declare @columnname varchar(50) declare cur_table cursor for select name from sysobjects where type=‘U‘ open cur_table  fetch next from cur_table into @tablename while @@fetch_status=0 begin -----------------------------------------   declare cur_column cursor for select name from syscolumns where id=Object_Id(@tablename) open cur_column  fetch next from cur_column into @columnname while @@fetch_status=0 begin   declare @ch varchar(50),@ch1 varchar(50),@uppertablename varchar(50)   set @[email protected]+‘.‘[email protected]   set @ch1=upper(substring(@columnname,1,1))+substring(@columnname,2,len(@columnname)-1)   set @uppertablename=upper(substring(@tablename,1,1))+substring(@tablename,2,len(@tablename)-1)   exec sp_rename @tablename,@uppertablename   exec sp_rename @ch,@ch1,‘column‘ fetch next from cur_column into @columnname end close cur_column deallocate cur_column ----------------------------------------- fetch next from cur_table into @tablename end close cur_table deallocate cur_table 

执行后整个数据库的表名和字段名都会变成首字母大写的形式。

时间: 2024-08-28 15:54:45

将数据库所有表和字段首字母变成大写的相关文章

mysql数据库、表、字段、记录:增、删、改、查

数据库.表.字段.记录:增.删.改.查.分类进行学习,重点是查询. /* 数据库.表.字段.记录:增.删.改.查 */ -- 1.数据库:增删改查 create datebase if not exists jkxy; drop database if exists jkxy; rename database jkxy to jikexueyuan; --这条语句官方说不能用了 show databases; use jikexueyuan; /* 1.CREATE DATABASE new_d

数据库中获取汉字的首字母(网上某大神的)

create function fun_getPY(@str nvarchar(4000))returns nvarchar(4000)asbegindeclare @word nchar(1),@PY nvarchar(4000)set @PY=''while len(@str)>0beginset @word=left(@str,1)--如果非汉字字符,返回原字符set @[email protected]+(case when unicode(@word) between 19968 an

1165: 零起点学算法72——首字母变大写

1165: 零起点学算法72--首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 705  Accepted: 439[Submit][Status][Web Board] Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Output 请输出按照要求改写后的英文句

hdu 2026 首字母变大写(java)

问题: 将小写换成大写,之前用a=(char)(a+32)的形式,并没有效果,原因不明. 有函数:a[0]=Character.toUpperCase(a[0]);可以用. 首字母变大写 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37323    Accepted Submission(s): 20817 Problem Desc

HDOJ 2026首字母变大写

首字母变大写 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30463    Accepted Submission(s): 17060 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Outp

首字母变大写(杭电2026)

/*首字母变大写 Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Output 请输出按照要求改写后的英文句子. Sample Input i like acm i want to get an accepted Sample Output I Like Acm I Want To Get An Accepted */ #include<stdio.h> #include<ctype.h> #include<string.h>

首字母变大写

首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 32066 Accepted Submission(s): 17876 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Output 请输出

word2013中取消句首字母自动大写

经常使用word的朋友都知道word中一行的首字母会自动大写,这给用户带来方便的同时,也产生了问题,因为有时候我们并不希望每行开头的首字母大写.要取消首字母自动大写可以取消勾选"首句字母大写"选项,具体见下面(依次点击用红框标记的选项)

struct和[]byte的转换,注意结构体内变量首字母一定大写

type temp struct {     Afd int     Bee string }func main(){ text:=temp{3123,"4234"} b._:=json.Marshal(text) var text2 temp err:=json.Unmarshal(b,&text2) fmt.Println(err,text2)} temp结构体内的Afd和Bee首字母一定大写,否则无法序列化和反序列化