當前位置:首頁 » 數據倉庫 » 資料庫character
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫character

發布時間: 2023-05-28 00:17:51

1. 如何修改資料庫的character

用alter語句. 如果資料庫已經有數據表了, 那每個表都要修改. (修改資料庫的字元集不會改變原有數據表的字元集)utf8:ALTER DATABASE `資料庫` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ALTER TABLE `數據表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci gbk (包含gb2312):ALTER DATABASE `資料庫` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci ALTER TABLE `數據表` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

2. character是什麼欄位類型

character即是:char,固定長度 (char) 或可變長度 (varchar) 字元數據類型。

char[[n]]

長度為n個位元組的固定長度的非Unicode單詞字元數據。 n必須是1到8,000之間的數字。 存儲大小為n個位元組。 sql-92中char的同義詞是character。

varchar [(n)]

長度為n個位元組的可變長度非Unicode字元數據。 n必須是1到8,000之間的數字。 存儲大小是輸入數據位元組的實際長度,而不是n位元組。 輸入數據字元的長度可以為零。 SQL-92中varchar的同義詞是char可變或字元可變。

(2)資料庫character擴展閱讀:

如果在數據定義或變數聲明語句中未指定n,則默認長度為1。如果未使用CAST函數指定n,則默認長度為30。

除非使用COLLATE子句另外分配了特定的排序規則,否則將為使用char或varchar的對象分配資料庫的默認排序規則。該排序規則控制用於存儲字元數據的代碼頁。

支持多種語言的站點應考慮使用Unicode nchar或nvarchar數據類型,以最大程度地減少字元轉換問題。如果使用char或varchar:

如果希望各列中的數據值接近相同的大小,請使用char。

如果希望各列中的數據值大小明顯不同,請使用varchar。

如果在執行CREATE TABLE或ALTER TABLE時SET ANSI_PADDING為OFF,則定義為NULL的char列將被視為varchar。

當整理代碼頁使用雙位元組字元時,存儲大小仍為n位元組。根據字元串的不同,n個位元組的存儲大小可能少於n個字元。

3. 為什麼mysql 默認的test資料庫character是latin1不是utf8

MYSQL 字元集問題

MySQL的字元集支持(Character Set Support)有兩個方面:

字元集(Character set)和排序方式(Collation)。

對於字元集的支持細化到四個層次:

伺服器(server),資料庫(database),數據表(table)和連接(connection)。

1.MySQL默認字元集

MySQL對於字元集的指定可以細化到一個資料庫,一張表,一列,應該用什麼字元集。

但是,傳統的程序在創建資料庫和數據表時並沒有使用那麼復雜的配置,它們用的是默認的配置,那麼,默認的配置從何而來呢? (1)編譯MySQL 時,指定了一個默認的字元集,這個字元集是 latin1;

(2)安裝MySQL 時,可以在配置文件 (my.ini) 中指定一個默認的的字元集,如果沒指定,這個值繼承自編譯時指定的;

(3)啟動mysqld 時,可以在命令行參數中指定一個默認的的字元集,如果沒指定,這個值繼承自配置文件中的配置,此時 character_set_server 被設定為這個默認的字元集;

(4)當創建一個新的資料庫時,除非明確指定,這個資料庫的字元集被預設設定為character_set_server;

(5)當選定了一個資料庫時,character_set_database 被設定為這個資料庫默認的字元集;

(6)在這個資料庫里創建一張表時,表默認的字元集被設定為 character_set_database,也就是這個資料庫默認的字元集;

(7)當在表內設置一欄時,除非明確指定,否則此欄預設的字元集就是表默認的字元集;

簡單的總結一下,如果什麼地方都不修改,那麼所有的資料庫的所有表的所有欄位的都用 latin1 存儲,不過我們如果安裝 MySQL,一般都會選擇多語言支持,也就是說,安裝程序會自動在配置文件中把 default_character_set 設置為 UTF-8,這保證了預設情況下,所有的資料庫的所有表的所有欄位的都用 UTF-8 存儲。

2.查看默認字元集(默認情況下,mysql的字元集是latin1(ISO_8859_1)

通常,查看系統的字元集和排序方式的設定可以通過下面的兩條命令:

mysql> SHOW VARIABLES LIKE 'character%';

4. 資料庫中的character類型,能按數字排序嗎

不可以,如果想按數字排列,必須存到INT,Money這樣的欄位里

5. 資料庫里中文也是一個位元組長度

不同的編碼方式,所需的佔用空間不同。

latin1:

1character=1byte,1漢字=2character,

也就是說一個欄位定義成 varchar(200),則它可以存儲100個漢字或者200個字母。

這一點要注意,尤其是當欄位內容是字母和漢字組成時,盡量假設欄位內容都是由漢字組成,據此來設置欄位長度

utf8:

1character=3bytes, 1漢字=1character

也就是說一個欄位定義成 varchar(200),則它可以存儲200個漢字或者200個字母。

gbk:

1character=2bytes,1漢字=1character

也就是說一個欄位定義成 varchar(200),則它可以存儲200個漢字或者200個字母。

請採納!

6. 如何查看mysql編碼格式 character

>show variables like 'character%';

character_set_client為客戶端編碼方式

character_set_connection為建立連接使用的編碼
character_set_database資料庫的編碼;
character_set_results結果集的編碼;
character_set_server資料庫伺服器的編碼;

7. mysql怎麼改character

在Unix下,可以編輯my.cnf文件進行編碼修改,Windows下可以直接用Mysql Server Instance Config Wizard 進行設置。
在linux下修改3個 my.cnf 中 /etc/mysql/my.cnf 文件
找到[client] 在下面添加
default-character-set=utf8 默認字元集為utf8
再找到[mysqld] 添加
default-character-set=utf8 默認字元集為utf8
init_connect='SET NAMES utf8' (設定連接mysql資料庫時使用utf8編碼,以讓mysql資料庫為utf8運行)
修改好後,重新啟動mysql 即可,查詢一下show variables like 'character%';
此方法用於標准mysql版本同樣有效,對於/etc/my.cnf文件,需要從mysql/support-files的文件夾復制 my-large.cnf 到 /etc/my.cnf 。

8. 資料庫中數據類型有哪些

Character 數據類型

Character 數據類型用來存儲字母數字型數據。當你在oracle 中定義一個character 數據時,通常需要制定欄位的長度,它是該欄位的最大長度。ORACLE提供以下幾種character 數據類型:

CHAR() CHAR數據類型是一種有固定長度和最大長度的字元串。存儲在數據類型為CHAR欄位中的數據將以空格的形式補到最大長度。長度定義在1——2000位元組之間。

當你創建一個CHAR型欄位,資料庫將保證在這個欄位中的所有數據是定義長度,如果某個數據比定義長度短,那麼將用空格在數據的右邊補到定義長度。如果長度大於定義長度將會觸發錯誤信息。

VARCHAR() varchar型數據是varchar2型數據的快照。

VARCHAR2() varchar2數據喚巧類型是一種可變長度的、有最大長度的字母數字型數據。Varchar2類型的欄位長度可以達到4000位元組,Varchar2類型的變數長度可以達到32676位元組。

一個空的varchar2(2000)欄位和一個空的varchar2(2)欄位所佔用的空間是一樣的。

NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()數據類型分別與CHAR() 和 VARCHAR2()類型是相同的,只不過它們用來存儲NLS(National Language Support)數據。

LONG LONG 數據類型是一個遺留下來的而且在將來不會被支持的數據類型。它將被LOB(Large Object)數據類型所代替。

比較規則 Varchar2和char數據類型和差鍵根據尾部的空格有不同的比較規則。對Char型數據,尾部的空格將被忽略掉,對於Varchar2型數據尾部帶空格的數據排序比沒有空慶宴格的要大些。比如:

Char 型數據: 『YO』=『YO』

Varchar2型數據:『YO』<』YO』

Numberic 數據類型

Numberic 數據類型用來存儲負的和正的整數、分數和浮點型數據,范圍在-1*10-103 和9.99999*10125之間,有38位的精確度。標識一個數據超出這個范圍時就會出錯。

Number(

) Number數據類型存儲一個有p位精確度的s位等級的數據。

DATE 數據類型

DATE 數據類型用來存儲日期和時間格式的數據。這種格式可以轉換為其他格式的數據去瀏覽,而且它有專門的函數和屬性用來控制和計算。以下的幾種信息都包含在DATE數據類型中:

Century

Year

Month

Day

Hour

Minute

Second

LOB 數據類型

LOB(Large Object) 數據類型存儲非結構化數據,比如二進制文件,圖形文件,或其他外部文件。LOB 可以存儲到4G位元組大小。數據可以存儲到資料庫中也可以存儲到外部數據文件中。LOB數據的控制通過DBMS_LOB 包實現。BLOB, NCLOB, 和CLOB 數據可以存儲到不同的表空間中,BFILE存儲在伺服器上的外部文件中。LOB數據類型有以下幾種:

BLOB: 二進制數據

CLOB: 字元型數據

BFILE: 二進制文件

其他數據類型

ROWID ROWID 數據類型是ORACLE數據表中的一個偽列,它是數據表中每行數據內在的唯一的標識。