初学习数据库,记录1,在sql server数据表主键中插入UUID

编程知识 更新时间:2023-04-05 13:40:13

芜湖,看见很多人都在CSDN写文章,记录自己的学习历程,既可以当做笔记,也可以给其它同学一个参考,我觉着挺好的,今天正好遇到一个问题,想着可以记录下来!

如何在sqlserver中生成UUID?看了好多文章,对于小白零基础的同学来说,可能都不够清楚。我也是摸索了好久才学会一个办法,也不知道这个办法好不好,因为我也是个初学者。(卑微)

----------------------------------------------------------------------------------

1.在sqlserver中编写SQL语句

初学者/第一次使用sqlserver的同学,不知道在哪写SQL语句(大佬勿喷~)

在这里新建查询,就可以写SQL了,然后用鼠标选中要执行的SQL语句,点击执行,就可以了! 

----------------------------------------------------------------------------------

如果出现“对象名无效 ”

则是因为这里选的是“master” 默认的库,没有指定所在的数据库。

解决办法:在下拉列表中,选择你要查询的数据库

----------------------------------------------------------------------------------

2. SQL update语句

SQL UPDATE 语句

SQL Server UPDATE语句的用法 - 51CTO.COM

我从这两个网页学到了在sqlserver中update操作的语法。

如果只修改某行的某个数据,就可以使用这个语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

举个例子:

update users set phone = 78789831 where number =231; 

如果要修改这一列的所有值,就可以不加最后的where条件。

--------------------------------------------------------------------------------

3. 生成UUID

情况1:执行这个,可以生成一个32个字母+4个“-”组成的GUID

select cast(NEWID() as varchar(36)) as uuid

这里的NewID()就是用来生成GUID字符串的。

(GUID是微软对UUID这个标准的实现。UUID是由开放软件基金会(OSF)定义的。UUID还有其它各种实现,不止GUID一种。)

cast()函数是用来将某种数据类型的表达式显式转换为另一种数据类型。

 --------------------------------------------------------------------------------

情况2:执行这个,可以生成一个不带“-”的UUID,也就是只有32个字母

两种都可以

select 
substring(uuid,1,8)+SUBSTRING(uuid,10,4)+SUBSTRING(uuid,15,4)+SUBSTRING(uuid,20,4)+SUBSTRING(uuid,25,12)
from (select cast(NEWID() as varchar(36)) as uuid) s
select cast(REPLACE(NEWID(), '-', '') as varchar(32))

结合刚才学的 update语句,我们给表添加UUID:

---------------------------------------------------------------------------

情况3:执行这个,可以给info_cow表的id字段所有行生成一个32个字母+4个“-”的UUID

update info_cow set id =  cast(NEWID() as varchar(36))

--------------------------------------------------------------------------

情况4:执行这个,可以给info表的id字段所有行生成一个32个字母的UUID

update info_cow set id =
cast(REPLACE(NEWID(), '-', '') as varchar(32))

-------------------------------------------------------------------------

情况5:插入一条新的数据(有 UUID的)

INSERT INTO 表名(列名1,列名2,列名3) VALUES (LOWER(REPLACE(LTRIM(NEWID()),'-','')),值2,值3);

这是只插UUID的:

INSERT INTO info_cow(id) VALUES (REPLACE(NEWID(),'-',''));

 ---------------------------------------------------------------------------

情况6:???

我在想,如何能设置:给正在添加的数据自动生成UUID? 就像自增长的序号一样?有这个方法吗?听起来应该挺容易实现的呀,为啥搜不到相关的方法呢?

或许是我太菜了,看不懂人家写的吧!

唉,以后如果学会了,再来补充吧...

更多推荐

初学习数据库,记录1,在sql server数据表主键中插入UUID

本文发布于:2023-04-05 13:40:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/6efb00e2d37fb009274f3f1aaebb7a0a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据表   主键   数据库   server   sql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 46391文章数
  • 14阅读数
  • 0评论数