㈠ 求一个sql批量更新语句 内容是这样不同的名字需要查找,更新对应名字的电话,邮箱,手机
比如A表,B表,列一样,B表数据新,要更新到A表:
姓名, 电话, 邮箱, 手机
可以这么写(假设用姓名关联):
update a set 电话 = (select 电话 from b where a.姓名=b.姓名),
邮箱 = (select 邮箱 from b where a.姓名=b.姓名),
手机 = (select 手机 from b where a.姓名=b.姓名)
where exists (select 1 from b where a.姓名=b.姓名)
这个是比较通用的写法,
不同的数据库还有各自特殊的写法,
比如sqlserver 可以用update from
㈡ SqlServer如何配置数据库邮件
很多的用户们团渗刚刚接触SqlServer2008,还不熟悉配置数据库邮件操作步骤?今日在此篇文章内小编就为你们带来了。
打开SqlServer2008数据库--登录数据库--管理---数据库邮件--配置数据库邮件
进入数据库邮件配置向导--下一步
选择配置任务选项:
如果是首次创建的话,选择塌液脊第一项:通过执行以下任务来安装数据库邮件
如果已埋橘经创建过的话,可以通过第二项和第三项去改变数据库邮件的配置
新建配置文件
按照要求填写,可以参照下图
给出常用服务器的smtp服务器地址
gmail(google.com)POP3服务器地址:pop.gmail.comSMTP服务器地址:smtp.gmail.com
163.com:POP3服务器地址:pop.163.comSMTP服务器地址:smtp.163.com
yahoo.com:POP3服务器地址:pop.mail.yahoo.comSMTP服务器地址:smtp.mail.yahoo.com
选中配置项,点击下一步
设置系统参数,按照需要配置,下一步
检查配置项是否正确,完成配置
㈢ 如何用oracleSQL查询手机、邮箱格式不正确
写个过程,使用正则表达式来描述手机号和邮箱模式,然后用regexp_like函数来搜索符合模式的手机号和邮箱。
㈣ sql 语句中 怎么查询邮箱地址 $s="SELECT * FROM `address` WHERE `address`='[email protected]'";
$s="SELECT * FROM 表名 WHERE address='[email protected]'"
㈤ SQL数据库中email的@约束怎么写
SQL数据库中email的@约束可用check语句。
工具:sqlserver 2008 R2
步骤:
1、打开sqlserver 2008 R2中的SSMS,连接到指定数据库。
2、创建员工表,其中包含email字段,并且要对email字段加以@的约束,语句如下:
createtable员工
(工号varchar(10),
姓名varchar(20),
性别varchar(2),
emailvarchar(50)check(emaillike'%@%'))
3、测试email字段包含@的数据,可正常插入。
insertinto员工values('001','东东','男','[email protected]')
㈥ sql查询邮箱使用情况
create table #temp (email varchar(100))
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
select substring(email,PATINDEX('%@%',email)+1,len(email)-PATINDEX('%@%',email)),count(*)
from #temp
group by substring(email,PATINDEX('%@%',email)+1,len(email)-PATINDEX('%@%',email))
drop table #temp
㈦ SQL查询语句,如何查询 一个邮箱的域名,比如一个邮箱为[email protected],使用查询语句如何返回163.com
select substring(email_address, charindex('@',email_address,1)+1,len(email_address) - charindex('@',email_address,1)) as domain
from tablename
㈧ 如何用sql语句检测邮箱格式
自己没亲自写过 这是引用别人的 先申明一下 使用正则表达式比较好
CREATE FUNCTION F_EMAIL
(
@EMAIL VARCHAR(50)
)
RETURNS INT --返回1是正确;返回0是错误
BEGIN
DECLARE @VALUE INT,@LEN INT
DECLARE @TMP VARCHAR(50)
DECLARE @CHECK1 VARCHAR(50)
DECLARE @CHECK2 VARCHAR(50)
DECLARE @CHECK3 VARCHAR(50)
SET @TMP=RTRIM(LTRIM(@EMAIL))
SET @LEN=LEN(@TMP)
IF @LEN-LEN(REPLACE(@TMP,'@',''))=1 AND @LEN-LEN(REPLACE(@TMP,'.',''))>=1 AND CHARINDEX('@',@TMP)<>1
BEGIN
SET @CHECK1=LEFT(@TMP,CHARINDEX('@',@TMP)-1)
SET @CHECK2=STUFF(@TMP,1,CHARINDEX('@',@TMP),'')
SET @CHECK3=STUFF(@CHECK2,1,CHARINDEX('.',@CHECK2),'')
SET @CHECK2=LEFT(@CHECK2,CHARINDEX('.',@CHECK2)-1)
IF LEN(@CHECK1)>0 and LEN(@CHECK2)>0 AND LEN(@CHECK3)>0
BEGIN
IF PATINDEX('%[^a-zA-Z0-9._-]%',@CHECK1)>0
SET @VALUE=0
ELSE
BEGIN
IF PATINDEX('%[^a-zA-Z0-9_-]%',@CHECK2)>0
SET @VALUE=0
ELSE
BEGIN
IF CHARINDEX(UPPER(@CHECK2),UPPER('gmail,QQ,163,sina,yahoo'))>0
BEGIN
IF PATINDEX('%[^a-zA-Z0-9._-]%',@CHECK3)>0
SET @VALUE=0
ELSE SET @VALUE=1
END
ELSE SET @VALUE=0
END
END
END
ELSE SET @VALUE=0
END
ELSE SET @VALUE=0
RETURN @VALUE
END
--测试
create table tb
(
id int identity,
email varchar(50),
CONSTRAINT chk_email CHECK (dbo.F_EMAIL(email)=1)
)
insert into tb SELECT '[email protected]'
insert into tb SELECT '[email protected]'
insert into tb SELECT '[email protected]'
insert into tb SELECT '[email protected]'
insert into tb SELECT 'AS@[email protected]'
/*
(所影响的行数为 1 行)
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 COLUMN CHECK 约束 'chk_email' 冲突。该冲突发生于数据库 'Test',表 'tb', column 'email'。
语句已终止。
(所影响的行数为 1 行)
(所影响的行数为 1 行)
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 COLUMN CHECK 约束 'chk_email' 冲突。该冲突发生于数据库 'Test',表 'tb', column 'email'。
语句已终止。*/
SELECT * FROM TB
/*
id email
----------- --------------------------------------------------
1 [email protected]
3 [email protected]
4 [email protected]
(所影响的行数为 3 行)
*/