mysql数据库中sql修改字段类型要怎么做

mysql数据库中sql修改字段类型要怎么做,第1张

首先说明一下: 在mysql数据中可以对表的字段类型进行修改的,这样的好处是正常情况下原来的数据不会丢失的。

它的语法规则是:alter table newexample modify id vaechar(20);

这里详细的讲解一下,这里同样修改表是以alter table 开始然后是表名 接着是要修改的字段名 ,接着是要修改以后的类型。

来个实例讲解一下:alter table newexample modify id vaechar(20);

方法如下:\x0d\1、打开要修改的数据库文件。\x0d\2、打开sql查询\x0d\3、在sql中输入修改语句。要用update这个语句。update语句的具体用法如下:\x0d\SQL Server UPDATE语句的语法如下:\x0d\update set = where \x0d\\x0d\下面是语法选项简介:\x0d\表的名称。该表包含了要修改值的列\x0d\要修改数据的列的名称\x0d\要输入到列中的新值\x0d\这是UPDATE语句中最重要的部分。\x0d\通过指定一个好的搜索条件,你能够限定表内被修改的行数。如果你不指定搜索条件,SQLServer会用新值修改表内的所有行\x0d\4、修改完成后,关闭数据库文件即可。

Update是一个数据库SQL语法用语,用途是更新表中原有数据,单独使用时使用where匹配字段。

语法为:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

例如:Update table_name Set column_name = new_value Where column_name = some_value

扩展资料

update使用注意事项:

1、sp_updatestats可以更新统计信息到最新。

2、低内存会导致未被客户端连接的查询计划被清除。

3、修改表结构,修改索引后,查询计划会被清除,可以再修改后运行几遍查询。

4、使用update时候,order by 会影响查询速度,where中使用函数则会调用筛选器进行扫描,扫描表要尽量避免。

参考资料来源:百度百科—update

用alter database语句修改数据库

--1将名为"例二数据库"的数据库改名为"例七数据库"

显示代码打印

alter database 例二数据库

modify name = 例七数据库

显示代码打印1 exec sp_renamedb '例二数据库','例七数据库'

--2为"例六数据库"增加一个数据文件

显示代码打印

alter database 例六数据库

add file (

name=增加的数据文件,

filename='c:\dbtest\例六数据库增加的数据文件ndf'

)

--3为"例六数据库"增加一个日志文件

显示代码打印

alter database 例六数据库

add log file (

name=例六增加的日志文件,

filename='c:\dbtest\例六增加的日志文件ldf',

size=3MB,

maxsize=50MB,

filegrowth=10%

)

--4将"例六数据库"名为"增加的数据文件"的数据库文件改名

显示代码打印

alter database 例六数据库

modify file (

name=增加的数据文件,

newname=例六数据文件,

filename='c:\dbtest\例六数据文件ndf'

)

--5修改"例六数据库"的排序规则

显示代码打印

alter database 例六数据库

collate Chinese_PRC_CI_AS_KS

--6在"例六数据库"里删除一个数据文件

显示代码打印

alter database 例六数据库

remove file 例六数据文件

--7在"例六数据库"里添加一个文件组

显示代码打印

alter database 例六数据库

add filegroup 例十三文件组

--8在"例六数据库"里为一个文件组改名

显示代码打印

alter database 例六数据库

modify filegroup 例十三文件组

name=例十四文件组

--9在"例六数据库"里添加一个数据文件到一个文件组,并将该文件祖设为默认文件组。

显示代码打印

--alter database一次只能修改数据库的一个属性

alter database 例六数据库

add file (

name=例十五数据文件,

filename='c:\dbtest\例十五数据文件ndf'

)

to filegroup 例十四文件组

go

alter database 例六数据库

modify filegroup 例十四文件组 default

go

--10在"例六数据库"里删除"例十四文件组"。

显示代码打印

alter database 例六数据库

modify filegroup [primary] default

--将primary文件组设为默认文件组

go

alter database 例六数据库

remove file 例十五数据文件

--删除"例十四文件组"中包含的"例十五数据文件"

go

alter database 例六数据库

remove filegroup 例十四文件组

--删除"例十四文件组"

go

--11将"例六数据库"里一个文件组设为只读的。

显示代码打印

alter database 例六数据库

add filegroup 例十七文件组

--先添加一个文件组,因为primary文件组不能设为只读

go

alter database 例六数据库

add file (name=例十七数据文件,

filename='c:\dbtest\例十七数据文件ndf')

to filegroup 例十七文件组

--添加一个文件到文件组中,因为空文件组不能设为只读

go

alter database 例六数据库

modify filegroup 例十七文件组 read_only

--将文件组设为只读

go

--12将"例六数据库"设为只有一个用户可访问

显示代码打印

alter database 例六数据库

set single_user

--13设置"例六数据库"可自动收缩

显示代码打印

alter database 例六数据库

set auto_shrink on

修改方法:

使用update语句。语法是:update table_name set column = value[, colunm = value] [where condition];

[ ]中的部分表示可以有也可以没有。

例如:update students set stu_name = "zhangsan", stu_gender = "m" where stu_id = 5;

具体 *** 作方法:

a lter table table_name add xxoo number(4) default 0 ;

因此 不仅要修改字典, 还要刷新全部数据

1) 在ALTER sql中有带缺省值,ORACLE 会直接刷新全部的记录。

2) 在ALTER sql中没有带缺省值,ORACLE 只会影响到后来的记录。

1 2 3 4 alter table table_name add xxoo number(4) default null; Table altered,Executed in 0062 seconds。

带有default null 就可以了,1 2 3 4 alter table table_name add xxoo number(4) default 0;Table altered,Executed in 1625 seconds,原来的话 要更新所有的行, 会导致UNDO 段占用

使用语句Alter table a add test number(10) default 0;更新一个大表中字段时,表有四个分区,数据达到几十亿行,增加一个字段竟然要几个小时的时间,修改语句加上Nologging ,怎么没有作用呢?去找是不是哪有锁了呢,使用语句 select 。

一、增:有2种方法

1使用insert插入单行数据:

语法:insert [into] <表名> [列名] values <列值>

例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

注意:如果省略表名,将依次插入所有列

2使用insert,select语句将现有表中的 数据添加到已有的新表中

语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

例:insert into addressList ('姓名','地址','电子邮件')select name,address,email

from  Strdents

注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

二、删:有2中方法

1使用delete删除数据某些数据

语法:delete from <表名> [where <删除条件>]

例:delete from a where name='王伟华'(删除表a中列值为王伟华的行) 

注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

2使用truncate table 删除整个表的数据

语法:truncate table <表名>

例:truncate table addressList

注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

用于有外建约束引用的表

三、改使用update更新修改数据

语法:update <表名> set <列名=更新值> [where <更新条件>]

例:update addressList set 年龄=18 where 姓名='王伟华'

注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

四、查

语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列

名>[asc或desc]]

1)查询所有数据行和列

例:select from a

说明:查询a表中所有行和

2)查询部分行列--条件查询

例:select i,j,k   from  a   where f=5

说明:查询表a中f=5的所有行,并显示i,j,k3列

3)在查询中使用AS更改列名

例:select name as 姓名 from a where  gender='男'

说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

4)查询空行

例:select name from a where email is null

说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

来判断是否为空行

5)在查询中使用常量

例:select name '北京' as 地址 from a

说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

6)查询返回限制行数(关键字:top )

例1:select top 6 name from a

说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

用rownum替代)

select      from   a where   rownum<6

7)查询排序(关键字:order by , asc , desc)

例:select name

from a

where grade>=60

order by desc

说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

以上就是关于mysql数据库中sql修改字段类型要怎么做全部的内容,包括:mysql数据库中sql修改字段类型要怎么做、怎么修改access数据库的内容、SQL 中UPDATE用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9495161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存