創建mysql資料庫並指定編碼(mysql創建表設置編碼)

  • 1、mysql用sql語句創建表和資料庫怎麼設置字元編碼’
  • 2、如何設置Mysql資料庫默認的字符集編碼為GBK
  • 3、如何設置mysql資料庫為utf-8編碼
  • 4、15個MySQL常用基本SQL語句
  • 5、如何在命令行創建mysql資料庫的時候指定某種固定的編碼方式

方法如下:

我們先建一個DEMO表,來做我們今天的實現,建表語句如下:

CREATE TABLE

DEMO

(

NAME VARCHAR(50) COMMENT ‘姓名’,

SEX CHAR(1) COMMENT ‘性別’,

PRIMARY KEY (NAME)

)

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’例子表’;

並且select查詢一下,如下圖

增加一個AGE欄位,

ALTER TABLE DEMO ADD AGE CHAR(3);

select查詢一下,如下圖

請對比上下圖,可以發現 多出了一個AGE欄位,此處是CHAR類型的。

那麼如何刪除我們剛加的欄位呢,

ALTER TABLE DEMODROP COLUMN AGE;

select查詢一下,如下圖

請對比上下圖,可以發現 AGE欄位被刪除掉了

我們在把這個欄位加回來

ALTER TABLE DEMO ADD AGE CHAR(3);,

我們用視圖工具DBVISUAL看下錶機構,這時AGE欄位是CHAR類型的

我們如果需要把這個欄位修改為VARCHAR類型的怎麼辦呢,

ALTER TABLE DEMO MODIFY  AGE   VARCHAR(20),

然後我們在用視圖工具DBVISUAL看下錶機構,這時AGE欄位是VARCHAR類型的

1、更改伺服器的編碼方式,在終端輸入以下命令:

mysqld –character-set-server=gbk –collation-server=gbk_chinese_ci;

2、更改某個資料庫的編碼方式

mysql -u root -p

alter database character set gbk collate gbk_chinese_ci;

3、在創建資料庫時指定編碼:

mysql -u root -p 

create database db_name character set gbk collate gbk_chinese_ci;

4、更改某個表的編碼方式

mysql -u root -p db_name

alter table table_name convert to  charachter set gbk collate gbk_chinese_ci;

5、在創建表時指定編碼方式

mysql -u root -p db_name

create table table_name (….) character set gbk collate gbk_chinese_ci;

6、更改某行的編碼方式

mysql -u root -p db_name

alter table table_name modify column_name varchar(20) character set gbk collate gbk_chinese_ci;

7、在創建列時指定編碼方式:

/prepre name=”code” class=”sql”mysql -u root -p db_name

create table table_name (…, col1 varchar(20) character set gbk collate gbk_chinese_ci, …) character set utf8 collate utf8_general_ci;

1、安裝資料庫的時候,指定好編碼,UTF-8

MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf

–在 [mysqld] 標籤下加上以下內容:

default-character-set = utf8

character_set_server = utf8

2、創建資料庫的時候,指定同樣的編碼

創建的時候,拉下字符集選擇,選擇utf8

最好上面2步,以後亂碼問題離你又遠了一步

海楓科技

在學習SQL語句之前,首先需要區分幾個概念,我們常說的資料庫是指資料庫軟體,例如MySQL、Oracle、SQL Server等,而本文提到的資料庫是指資料庫軟體中的一個個用於存儲數據的容器。

在MySQL中,資料庫稱為database,數據表稱為table,一個資料庫軟體中有多個資料庫(databases),每個資料庫中又可以有多個數據表(tables),最終,數據是存儲在數據表中。

資料庫和數據表之間的關係可以用下面這個圖來表示,對於一個資料庫來說,有多個數據表。

在正式開始寫SQL語句之前,需要說明兩點。

這裡通過MySQL Workbench來寫SQL代碼,在Workbench中,執行一條SQL語句的方式有兩種。

了解了這之後,接下來介紹一些常見的命令,分兩部分:資料庫常用命令和數據表常用命令。

1、查看有哪些資料庫

2、創建資料庫

創建一個名為Testdb的資料庫。

3、創建資料庫並指定編碼格式

有些時候,為了防止中文亂碼,創建資料庫的時候需要指定編碼格式。

4、使用某個資料庫

使用mydb這個資料庫,或者進入mydb這個資料庫。

5、刪除資料庫

刪除Testdb這個資料庫。

1、查看有哪些數據表

進入某個資料庫之後,想查看有哪些數據表,SQL語句為:

mydb是一個新建的資料庫,所以自然是沒有數據表。

2、創建數據表

建表SQL語句格式為:

說明: 每個欄位以逗號分隔,最後一個欄位不加逗號。

例如,給定一個學員信息表,如下表所示。

根據以上表格,建表SQL語句如下。

以上語句中,primary key表示主鍵,意思是這個欄位作為記錄的唯一標識,就像每個人的身份證號,都是唯一確定的。

3、查看錶結構

查看錶結構的SQL命令為:

執行該命令會顯示錶stuinfo的基本結構,例如有哪些欄位,每個欄位是什麼類型,誰是主鍵等。

4、修改數據表

修改數據表通過drop子句進行,比如,建完表後,想增加一個欄位,SQL語句的格式為:

想在指定位置增加一個欄位,例如,在某個欄位後增加一個欄位,SQL語句的格式為:

如果在某個欄位之前增加欄位,用before即可。

例如,在欄位age後增加一個欄位major(專業),SQL語句為:

執行這個命令,再通過describe查看錶結構,會發現表中多了一個欄位major。

如果要刪除major這個欄位,通過drop子句,SQL語句為:

5、重命名表

重命名表通過alter+rename來實現,SQL語句格式為:

這裡為了不影響之前創建的表,我們創建一個新表,SQL語句如下。

以上創建一個名為stuInfoTest的表,現在想將它的名稱改成stuinfotest1,SQL語句為:

6、刪除數據表

刪除數據表通過drop進行,SQL語句格式為:

例如,刪除數據表stuinfotest1,SQL語句為:

7、插入記錄

此時的表stuinfo是空的,沒有數據,我們要向表中插入記錄。

插入記錄通過insert into進行,SQL語句格式為:

例如,向表stuinfo插入一條記錄,SQL語句為:

注意:上方是一條SQL語句,為了可讀性換行,記住一條SQL語句默認以分號結尾。

如果需要一次性插入多條記錄,SQL語句格式為:

例如,向表stuinfo再插入兩條記錄,SQL語句為:

注意:如果設置了主鍵,插入記錄的主鍵欄位是不能重複的,也就是不能插入重複的記錄。

作業:大家可以按照上述方法將上面的學員信息表中的所有記錄都插入表stuinfo中。

8、查詢記錄

有了數據之後,就可以查詢記錄了,查詢記錄通過select子句進行。

例如,想查詢表stuinfo中的所有記錄,SQL語句為:

執行之後,就可以看到表stuinfo中的所有記錄了。

如果想查詢符合某個條件的記錄,就要用到where子句了,SQL格式為:

例如,想查詢stuid為20161001的記錄,SQL語句為:

9、刪除記錄

刪除記錄通過delete子句進行,SQL語句格式為:

例如,想刪除stuid為20161002的記錄,SQL語句為:

10、修改記錄

修改記錄通過update子句進行,update就是更新的意思,SQL語句格式為:

例如,想將學號(stuid)為20161001的記錄的姓名(stuname)更新為Jack,SQL語句為:

以上,就是MySQL中的基本SQL語句。

零基礎如何學習數據分析?查看下方專欄。

CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE

utf8_general_ci;

CREATE DATABASE 的語法:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

[create_specification

[, create_specification] …]

create_specification:

[DEFAULT] CHARACTER SET charset_name

| [DEFAULT]

COLLATE collation_name

原創文章,作者:E22RO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126224.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
E22RO的頭像E22RO
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論