300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 初学习数据库 记录1 在sql server数据表主键中插入UUID

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

时间:2021-02-07 07:27:48

相关推荐

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

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

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

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

1.在sqlserver中编写SQL语句

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

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

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

如果出现“对象名无效 ”

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

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

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

2. SQL update语句

SQL UPDATE 语句

SQL Server UPDATE语句的用法 -

我从这两个网页学到了在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? 就像自增长的序号一样?有这个方法吗?听起来应该挺容易实现的呀,为啥搜不到相关的方法呢?

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。