芜湖,看见很多人都在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
发布评论