修改數據庫的一個sql語句
Update 語句
Update 語句用于修改表中的數據,語法: update 表名 set 字段名1=值1,。 Where 關鍵字=值
1、使用Update語句,如果省略“ Where條件”,將更新數據表內的全部記錄。
2、賦值時,注意字段的類型。若為文本型或備注型,則字段值兩邊要加引號,若為日期/時間型,則字段值兩邊要加上#號(加引號也可以);若為布爾類型,則該字段的值為True或 False;若為自動編號類型,則不要給該字段賦值。
拓展資料
批量修改數據
update 表名 set 字段名=stuff(字段名,1,3,'新內容');
如:將表test中name字段的前3個字符改成'test'
update test set name=stuff(name,1,3,'test');
sqlserver stuff用法
1、作用
刪除指定長度的字符,并在指定的起點插入另一組字符。
2、語法
STUFF ( character_expression , start , length ,character_expression )
3、示例
在第一個字符串stringtest中刪除從第3個位置(字符r)開始的三個字符,然后在刪除的起始位置插入第二個字符串,返回一個新的字符串。
select stuff('stringtest',3,3,'ok')
結果 stroktest
4、參數
character_expression
一個字符數據表達式。character_expression可以是常量、變量,也可以是字符列或二進制數據列。
start
一個整數,指定要刪除和插入的開始位置。如果start或length為負,則返回空字符串。如果start比第一個character_expression長,則返回空字符串。start可以是bigint類型。
length
一個整數,指定要刪除的字符串數。如果length比第一個character_expression長,則最多刪除到最后一個character_expression中的最后一個字符。length可以是bigint類型。
5、返回類型
如果character_expression是受支持的字符數據類型,則返回字符數據。如果character_expression是一個不受支持的binary數據類型,則返回二進制數據。
6、備注
如果結果值大于返回類型支持的最大數,則產生錯誤
請問怎樣通過MysqL語句修改在安裝MySQL時設置好的密碼
MySQL修改密碼方法總結
首先要說明一點的是:一般情況下,修改MySQL密碼是需要有mysql里的root權限的,這樣一般用戶是無法更改密碼的,除非請求管理員幫助修改。
方法一
使用phpMyAdmin
(圖形化管理MySql數據庫的工具),這是最簡單的,直接用SQL語句修改mysql數據庫庫的user表,不過別忘了使用PASSWORD函數,插入用戶用Insert命令,修改用戶用Update命令,刪除用Delete命令。在本節后面有數據表user字段的詳細介紹。
方法二
使用mysqladmin。輸入
mysqladmin -u root -p oldpassword newpasswd
執行這個命令后,需要輸入root的原密碼,這樣root的密碼將改為newpasswd。同樣,把命令里的root改為你的用戶名,你就可以改你自己的密碼了。
當然如果你的mysqladmin連接不上mysql
server,或者你沒有辦法執行mysqladmin,那么這種方法就是無效的,而且mysqladmin無法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權限:
方法三
mysql> INSERT INTO * (Host,User,Password) VALUES
('%','system', PASSWORD('manager'));
mysql> FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為system,密碼為manager。注意要使用PASSWORD函數,然后還要使用FLUSH
PRIVILEGES來執行確認。
方法四
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO * (Host,User,Password)
VALUES('%','system',PASSWORD('manager'));
mysql> FLUSH PRIVILEGES
方法五
使用SET PASSWORD語句
mysql> SET PASSWORD FOR system@"%" = PASSWORD('manager');
你也必須使用PASSWORD()函數,但是不需要使用FLUSH PRIVILEGES來執行確認。
方法六
使用GRANT 。 IDENTIFIED BY語句,來進行授權。
mysql> GRANT USAGE ON *.* TO system@"%" IDENTIFIED BY 'manager';
這里PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES來執行確認。
注:PASSWORD()函數作用是為口令字加密,在程序中MySql自動解釋。
mysql中修改列名
?修改表:
1.修改之添加列:給stu表添加classname列:
ALTER TABLE stu ADD (classname varchar(100));
2.修改之修改列類型:修改stu表的gender列類型為CHAR(2):
ALTER TABLE stu MODIFY gender CHAR(2);
3.修改之修改列名:修改stu表的gender列名為sex:
ALTER TABLE stu change gender sex CHAR(2);
4.修改之刪除列:刪除stu表的classname列:
ALTER TABLE stu DROP classname;
5.修改之修改表名稱:修改stu表名稱為student:
ALTER TABLE stu RENAME TO student;
查看當前數據庫中所有表名稱:SHOW TABLES;
?查看指定表的創建語句:SHOW CREATE TABLE emp,查看emp表的創建語句;
?查看表結構:DESC emp,查看emp表結構;
?刪除表:DROP TABLE emp,刪除emp表;
求一條mysql 語句,update 的語句
如表名為tb2
第一步先去除所有空格
update tb2 set value=REPLACE(value,' ','');
第二步去除所有已有的'.'
update tb2 set value=REPLACE(value,'.','');
1位字母的:
update tb2 set value=CONCAT(value,'.') where length(value)=1 and value!='.';
2位字母的:
update tb2 set value=CONCAT(SUBSTRING(value,1,1),'.',SUBSTRING(value,2,1),'.') where length(value)=2 and value not like '%.%';
3位字母的:
update tb2 set value=CONCAT(SUBSTRING(value,1,1),'.',SUBSTRING(value,2,1),'.',SUBSTRING(value,3,1),'.') where length(value)=3 and value not like '%.%';
4位字母的:
。。。。。
以些類推。
如果由程序控制的話,可以從以下規律著手:
變量t為字母位數,m為累加變量為1到t,先去除空格和已有'.'后的更新語句為:
update tb2
set
value=CONCAT(SUBSTRING(value,1,1),'.',SUBSTRING(value,2,1),'.',。。。。。.,SUBSTRING(value,t,1),'.')
where length(value)=t and value not like '%.%';
即:value的值為CONCAT()里面重復SUBSTRING(value,m,1),'.',重復的次數由字母位數t決定,第一次m為1,第二次m為2,。。。。第t次m=t,然后結束CONCAT()。條件為 length(value)=t且value里本身沒有'.'。
轉載請注明出處華閱文章網 » mysql的修改語句