首页 > 数据库 >mysql-alter语句

mysql-alter语句

时间:2023-06-30 09:44:37浏览次数:41  
标签:语句 database mysql Alter 表名 xscj table alter

T-SQL Alter 语句

原创 Lyle_Tu Linux分布式主任 2023-06-20 08:21 发表于福建 收录于合集 #sql5个 #linux13个 #数据库7个 #服务器15个

 

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

 

修改数据库常用语句

语法格式:

ALTER DATABASE database_name{ADD FILE<filespec>[ ,...n] [TO FILEGROUP{filegroup_name}]| ADD  LOG FILE<filespec>[ , ...n]| REMOVE FILE <filespec>| ADD FILEGROUP filegroup_name| MODIFY FILEGROUP filegroup_name {filegroup_property |NAME = new_filegroup_name }

 

参数介绍:

  • ADD FILE :向数据库文件添加新的数据文件。

  • ADD LOG FILE:向数据库添加事物日志文件。

  • REMOVE FILE:从SQL Server 实例中删除逻辑文件说明并删除物理文件。

  • MODIFY:修改某一个文件组的属性。

 

案例:

修改数据库xscj现在数据文件的属性,将主数据文件的最大大小修改为不限制,增长方式修改为按每次5MB增长。alter database xscj        modify file                (name='xscj_data',                 maxsize=unlimited                 )goalter database xscj        modify file                (name='xscj_data',                 filegrowth=5MB                 )go说明:Alter databaseAlter database语句一次只能修改数据文件的一个属性,若修改主数据文件的两个属性,需执行两次alter database命令
先为数据库xscj增加数据文件xscjbak,初始大小为10MB,最大为50MB,增长方式为5%。然后删除xscjbak.alter database xscj        add file                (name='xscjbak',                 filename='e:\sql\xscjbak.ndf',                 size=10MB,                 maxsize=50MB,                 filegrowth=5%                 )Goalter database xscj        remove file xscjbakgo增加数据文件【例2-3】为数据库“jxgl”增加数据文件jxglbak,初始大小为10MB,最大为50MB,增长方式为5%。alter database jxgl        add file                (name='jxglbak',                 filename='e:\sql\jxglbak.ndf',                 size=10MB,                 maxsize=50MB,                 filegrowth=5%                 )go
删除数据文件例2-4】从数据库“jxgl”中,删除数据文件jxglbak。alter database jxgl        remove file jxglbakgo从数据库中删除文件组alter database xscj        remove file xscj_data2goalter database xscj        remove file xscj_data3goalter database xscj        remove filegroup FgroupGo说明:使用T_SQL命令删除文件组时必须为空,使用菜单可一同删除。
为数据库添加一个日志文件alter database xscj        add log file                (name=xscj_log2,                 filename='e:\sql\xscj_log2.ldf',                 size=5MB,                 maxsize=10MB,                 filegrowth=1MB                 )go从数据库xscj中删除一个xscj_Log2日志文件alter database xscj        remove file xscj_log2go将数据库xscj中更名为just_test,alter database xscj        modify name=just_testgo

 

修改表常用语句

 

修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下。

 

1:向表中添加字段

Alter table [表名] add [列名] 类型

2:  删除字段

Alter table [表名]  drop column [列名]

3:  修改表中字段类型 (可以修改列的类型,是否为空)

Alter table [表名] alter column [列名] 类型

4:添加主键

Alter table [表名] add constraint [ 约束名] primary key( [列名])

5:添加唯一约束

Alter table [表名] add constraint [ 约束名] unique([列名])

6:添加表中某列的默认值

Alter table [表名] add constraint [约束名] default(默认值) for [列名]

7:添加约束

Alter table [表名] add constraint [约束名] check (内容)

8:添加外键约束

Alter table [表名] add constraint [约束名]  foreign key(列名) referencese 另一表名(列名)

9:删除约束

Alter table [表名] drop constraint [约束名]

10:重命名表

exec sp_rename '[原表名]','[新表名]'

11:重命名列名

exec sp_rename '[表名].[列名]','[表名].[新列名]'创建注释(N'user', N'dbo', N'TABLE' 为固定的写法)

12:为表添加描述信息

EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'TABLE', N'表名', NULL, NULL

13:为字段Username添加描述信息

EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'TABLE', N'表名', N'column', N'Username'

14:为字段Sex添加描述信息

EXECUTE sp_addextendedproperty N'MS_Description', '性别', N'user', N'dbo', N'TABLE', N'表名', N'column', N'Sex'

15:更新表中列UserName的描述属性:

EXEC sp_updateextendedproperty 'MS_Description','新的姓名','user',dbo,'TABLE','表名','column','UserName'

16:删除表中列UserName的描述属性:

EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'TABLE','表名','column','Username'

 

 

案例:

use TestBasego--创建表create table ProductInfos(   Id int identity(1001,1) primary key  not null,  --标识种子,增量   ProNo varchar(50) not null,   ProName nvarchar(20) not null,   TypeId int not null,   Price decimal(18,2) default (0.00) not null,   ProCount int default (0) null,)go--删除表drop table ProductInfosgo--创建表之后,进行修改--不删除原来的表的基础上,进行修改--添加一列 ProRemark   alter table ProductInfos add ProRemark nvarchar(max) null--删除一列 ProRemarkalter table ProductInfos drop column ProRemark--修改一列alter table ProductInfos alter column ProNo nvarchar(50) null--修改列名  一般慎用--exec sp_rename 'ProductInfos.ProCount','Count','column'
在xscj数据库下修改student表,增加少数民族否一列,为bit类型。然后在此表中删除此列.use xscjgoalter table student        add 少数民族否 bitgoalter table student        drop column 少数民族否go在xscj数据库下修改student表,将姓名长度由原来的8修改为10;将出生日期由原来的smalldatetime修改为date;use xscjgoalter table student        alter column 姓名 varchar(10)goalter table student        alter column 出生日期 datego

 

 

 

 

 

收录于合集 #数据库  7个 上一篇SQL Server 数据操作下一篇数据库增删改语句 阅读 38   Linux分布式主任 55篇原创内容  

标签:语句,database,mysql,Alter,表名,xscj,table,alter
From: https://www.cnblogs.com/cherishthepresent/p/17515783.html

相关文章

  • 12 | 为什么我的MySQL会“抖”一下?
    一下内容出自《MySQL实战45讲》12|为什么我的MySQL会“抖”一下?一条SQL语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。看上去,这就像是数据库“抖”了一下。这个时候,MySQL可能是在刷脏页(fl......
  • ubuntu 18.04.1安装mysql8
    sudoaptupdatesudoaptinstallmysql-serversudosystemctlstatusmysqlsudomysqlALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'password';FLUSHPRIVILEGES;createuser'testuser'@......
  • eggjs连接MySQL数据库
     前言:eggjs连接MySQL数据库,我摸索了各种方式。下面这篇文章能正确链上。 我犯过的几个错误:1,config/plugin.js中我填写错误,这是最致命的,导致直接读不到MySQL。官方文档不靠谱,如下所示//config/plugin.jsexports.mysql={  enable:true,  package:'egg-mysql',};......
  • mysql通过表分区来增加数据查询效率
    背景我们mysql是单机,其中有几个表体积会很大,需要做分表来增加查询效率.我们的数据是连续不断入库的,查询条件是一个批次一个批次的查,也可以看做是按时间段查询.思路mysql事件Event:到一定时间把原表改名,加一个后缀,比如user表改为user_1RENAMETABLEdivision_stop_......
  • 5.流程控制语句
    流程控制语句顺序语句特点:语句逐句执行选择语句特点:出现了一种以上的情况时使用循环语句在某个条件成立的情况下,循环执行某个语句、关键字:选择:if-else,which-case;循环:while,do-while,for,if-goto;辅助控制:continue,break,andsoon.1.if-else语句......
  • MySQL 8.0.33 my.ini说明
    #其他默认调整值#MySQLServer实例配置文件#-------------------------------------------------------------------------------------------------------------------------------------------------------------#由MySQLServer实例配置向导生成###安装说明#------------......
  • mysql: [Warning] Using a password on the command line interface can be insecure.
      https://zhuanlan.zhihu.com/p/542166965 ......
  • 自由软件基金会为甲骨文支招 放弃MySQL
    本文发表于2009-10-2608:3911/2/200911:45:39AM据国外媒体报道,自由软件基金会欧洲分会(以下简称FSFE)周五表示,甲骨文应该将MySQL数据库交给一家独立的非营利机构,以便让欧盟尽早批准甲骨文收购Sun交易。FSFE称,甲骨文应该将MySQL数据库交给一家独立的非营利机构打理,这家机构要把......
  • Mysql十题
    181.超过经理收入的员工SQL架构表:Employee +-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||name|varchar||salary|int||managerId|int|+-------------+---------+Id......
  • Mysql必备技能点
    一、SQL顺序1.sql语句执行顺序:from-->where-->groupby-->having-->select--->orderby;我们先执行from,join来确定表之间的连接关系,得到初步的数据where对数据进行普通的初步的筛选groupby分组各组分别执行having中的普通筛选或者聚合函数筛选。然后把再根据我们要......