㈠ 求一個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 行)
*/