1. 程式人生 > >修改MySQL資料庫中表 或 表中欄位的編碼方式

修改MySQL資料庫中表 或 表中欄位的編碼方式

   今天向MySQL資料庫中的一張表新增含有中文的資料,總是出異常,檢查程式並沒有發現錯誤,無奈呀,後來重新檢查這張表發現表的編碼方式為latin1 ,並且原想可以插入中文的欄位的編碼方式也是latin1,然後再次仔細觀察控制檯輸出的異常,進一步確定是表和表中欄位編碼不當造成的,那就修改表和其中對應的欄位唄,網上找了一會兒,你別說還真有,執行完sql指令碼後果然可以存入中文了...

   特意整理總結了一下,俗話說:好記性不如爛筆頭!  這樣做的好處是:一方面便於長期儲存,二、希望給遇到類似問題的朋友提供一些參考。


   修改表的編碼方式:ALTER TABLE `test` DEFAULT CHARACTER SET utf8;該命令用於將表test的編碼方式改為utf8;

   修改欄位的編碼方式:ALTER TABLE `test` CHANGE `name` `name` VARCHAR(36) CHARACTER SET utf8

NOT NULL;  該命令用於將表test中name欄位的編碼方式改為utf8;

相關推薦

修改MySQL資料庫中表 中欄編碼方式

   今天向MySQL資料庫中的一張表新增含有中文的資料,總是出異常,檢查程式並沒有發現錯誤,無奈呀,後來重新檢查這張表發現表的編碼方式為latin1 ,並且原想可以插入中文的欄位的編碼方式也是latin1,然後再次仔細觀察控制檯輸出的異常,進一步確定是表和表中欄位編碼不當

mysql資料庫和查詢語句中欄型別不匹配出現異常,查詢更新多條的原因

說明 表結構和where查詢的欄位型別一致,均為字串或者是整數,不會型別轉化 表結構和where查詢的欄位型別不一致: 一個為TIMESTAMP或者是DATETIME,另一個為常量,常量會轉化為TIMESTAMP,再進行比較 一個為DECIMAL或者是整數,整數會轉化

mysql修改的預設編碼中欄編碼

一個是修改表的編碼格式的 ALTER TABLE `table` DEFAULT CHARACTER SET utf8; 但是雖然修改了表的編碼格式,但是欄位的編碼格式並沒有修改過來,沒有什麼卵用 又發現一條語句,作用是修改欄位的編碼格式 ALTER T

Navicat修改mysql資料庫插入資料時欄新增預設當前時間

比如新增createDate建立時間欄位,型別選擇timestamp,預設值填寫CURRENT_TIMESTAMP ,底部勾選欄位複選框提示根據當前時間戳更新 新插入的資料在select查詢時就會把該欄位的值查詢成最新的日期格式資料 資料查詢截圖如下

mysql 批量修改中欄資料成不同的值 用一個更新另一個的方法

首先mysql更新資料的某個欄位,一般這樣寫: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 也可以這樣用in指定要更新的記錄: UPDATE mytable SET myfield = 'value

MySQL任務排程和儲存過程實現實時修改中欄

DELIMITER $$USE `wqd_zw_platform`$$DROP PROCEDURE IF EXISTS `update_activity_state`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `update_activity_state`()B

查詢資料庫中欄值重複的資料

1.使用分組,例如:查tab_omin_meta_chginfo表中欄位value03重複的資料,顯示value03的值,根據value03進行分組,條件是出現的次數大於1     2.查詢結果如圖:,也就是說 10cm地溫 這些元素在 tab_omin_meta_

MySQL中如何用一個中的欄更新另一個中欄

1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多個列 update a, b set a.title=b.title, a.name=b.name wh

spring事務管理,基於xml配置完成事務回滾;spring中資料庫中欄名和pojo中屬性名不一致時候,實現RowMapper介面手動封裝

宣告使用JDK8,spring5.0.7, 測試說明: service 層 宣告介面進行轉賬,從A轉賬B ,然後對AB 進行更新操作,在事務中對find方法開啟 只讀許可權,無法進行更新操作,造成事務回滾進行測試事務; 主要測試方法:* void tra

Oracle_不刪除中資料,修改中欄型別

資料庫表名稱為:TX_Separateout 現想將TX_Separateout 中的Comcode欄位由原來的number型別修改為varchar2(20) –修改一個欄位的型別 alter tabl

檢視和修改Mysql資料庫的時候預設的儲存引擎

建表的時候,不指定type或engine,則使用預設的儲存引擎。預設的儲存引擎,可以在配置檔案my.ini中檢視和修改,預設是InnoDB: # The default storage engine that will be used when create new tab

MySQL中欄內容是用逗號分隔的 另一含有對應資料的兩聯合查詢

有時為了資料庫簡潔,存放資料的時候,某一欄位採用逗號隔開的形式進行儲存。 一般情況這個欄位都應該具有如下幾個共性。 被分割的欄位一定是有限而且數量較少的,我們不可能在一個字串中儲存無限多個字元這個欄位所屬的表與這個欄位關聯的表,一定是一對多的關係下面舉例說明: 原表: l

oracle資料庫獲取的列名以及列名的註釋,並按中欄原來的順序顯示

1.如果是單使用者,可以使用以下 select nvl(a.column_name, '無註釋') as field, nvl(a.comments, '無註釋') as title

針對不同資料庫,獲取當前使用者所有有許可權檢視的,以及的建立時間、更新時間、註釋等資訊,中欄的相關資訊(包含分頁實現)

最近在處理一個需求,需求是這樣的: 給定任意一個數據庫的JDBC連線、使用者名稱、密碼 查詢出所有有許可權訪問的表的相關資訊:表名,建立時間,更新時間,註釋 要支援分頁 資料庫型別有:MySQL、GBase、Oracle、DB2、Greenplum、Hive

mysql查詢一個中欄相同的資料

SELECT * FROM `education_student_tmp_from_crp` a WHERE (a.stu_no) IN ( SELECT stu_no FROM

mysql判斷中欄或者索引是否存在,如果不存在則建立

判斷欄位是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGIN DECLARE CurrentDatabase VARCHA

MySql中欄為Null 和 空('') 有什麼區別, 分別有什麼影響?

資料準備 insert into user VALUES (6,NULL,1,0,1,NULL); insert into user VALUES (7,'',10,0,0,''); 然後我們編寫了一個簡單的小程式查詢這兩條記錄 public User

SQL刪除資料中欄時出現【由於一個多個物件訪問此列,ALTER TABLE DROP COLUMN *** 失敗。 】

今天做個功能,先是在程式中向資料表中新增欄位,然後再刪除該表中不需要的欄位,第一步的時候還是蠻順利的,可是第二步時就卡那裡了,刪除不了。提示出現了 當然,這個圖片是我在SQL裡去測試時截的,vs後臺刪不了其實也是這個原因。找了好多辦法來解決都沒搞定,後面知道是約束的問

檢視mysql資料庫大小、大小和最後修改時間

1.檢視資料庫表基本資訊。select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA = ‘資料庫名’ and information_schema.TABLES.T

資料庫查詢語句,oracle查詢一個中欄相同資訊的個數並按個數排序

表名:hotsearch    欄位:hotword select distinct hotword, count(hotword) from hotsearch group by hotword order by count(hotword) desc;