最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL之庫(kù)和表的操作實(shí)踐

 更新時(shí)間:2025年09月22日 09:06:01   作者:秦jh_  
本文講解MySQL數(shù)據(jù)庫(kù)和表的操作,涵蓋創(chuàng)建、修改、刪除,字符集與校驗(yàn)規(guī)則設(shè)置,備份恢復(fù)方法,及查看連接狀態(tài),強(qiáng)調(diào)注意事項(xiàng)如刪除風(fēng)險(xiǎn)和校驗(yàn)規(guī)則對(duì)大小寫(xiě)的影響

庫(kù)的操作

創(chuàng)建數(shù)據(jù)庫(kù)

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]

create_specification:

        [DEFAULT] CHARACTER SET charset_name

        [DEFAULT] COLLATE collation_name

說(shuō)明:

  • 大寫(xiě)的表示關(guān)鍵字
  • [] 是可選項(xiàng)
  • CHARACTER SET: 指定數(shù)據(jù)庫(kù)采用的字符集
  • COLLATE: 指定數(shù)據(jù)庫(kù)字符集的校驗(yàn)規(guī)則

創(chuàng)建如上圖。 

說(shuō)明:當(dāng)我們創(chuàng)建數(shù)據(jù)庫(kù)沒(méi)有指定字符集和校驗(yàn)規(guī)則時(shí),系統(tǒng)使用默認(rèn)字符集:utf8,校驗(yàn)規(guī)則 是:utf8_ general_ ci 

  •  創(chuàng)建一個(gè)使用utf8字符集的 db2 數(shù)據(jù)庫(kù)
create database db2 charset=utf8; 
  •  創(chuàng)建一個(gè)使用utf字符集,并帶校對(duì)規(guī)則的 db3 數(shù)據(jù)庫(kù)。
create database db3 charset=utf8 collate utf8_general_ci; 

字符集和校驗(yàn)規(guī)則

查看系統(tǒng)默認(rèn)字符集以及校驗(yàn)規(guī)則

show variables like 'character_set_database';
show variables like 'collation_database'; 

查看數(shù)據(jù)庫(kù)支持的字符集

show charset;

字符集主要是控制用什么語(yǔ)言。比如utf8就可以使用中文。

查看數(shù)據(jù)庫(kù)支持的字符集校驗(yàn)規(guī)則

show collation; 

校驗(yàn)規(guī)則對(duì)數(shù)據(jù)庫(kù)的影響

  •  不區(qū)分大小寫(xiě)

創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),校驗(yàn)規(guī)則使用utf8_ general_ ci[不區(qū)分大小寫(xiě)] 

create database test1 collate utf8_general_ci; 
use test1; 
create table person(name varchar(20)); 
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B'); 

  • 區(qū)分大小寫(xiě) 

創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),校驗(yàn)規(guī)則使用utf8_ bin[區(qū)分大小寫(xiě)] 

create database test2 collate utf8_bin; 
use test2 
create table person(name varchar(20)); 
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B'); 

刪除數(shù)據(jù)庫(kù)

DROP DATABASE [IF EXISTS] db_name; 

執(zhí)行刪除之后的結(jié)果:

  • 數(shù)據(jù)庫(kù)內(nèi)部看不到對(duì)應(yīng)的數(shù)據(jù)庫(kù)
  • 對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件夾被刪除,級(jí)聯(lián)刪除,里面的數(shù)據(jù)表全部被刪 

注意:不要隨意刪除數(shù)據(jù)庫(kù) 

操縱數(shù)據(jù)庫(kù)

查看數(shù)據(jù)庫(kù)

show databases; 

通過(guò)select database();可以查看當(dāng)前正在哪個(gè)數(shù)據(jù)庫(kù)里。

顯示創(chuàng)建語(yǔ)句

show create database 數(shù)據(jù)庫(kù)名;  

說(shuō)明:

  • MySQL 建議我們關(guān)鍵字使用大寫(xiě),但是不是必須的。
  • 數(shù)據(jù)庫(kù)名字的反引號(hào)``,是為了防止使用的數(shù)據(jù)庫(kù)名剛好是關(guān)鍵字
  • /*!40100 default.... */ 這個(gè)不是注釋?zhuān)硎井?dāng)前mysql版本大于4.01版本,就執(zhí)行這句話(huà)

修改數(shù)據(jù)庫(kù)

語(yǔ)法:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name 

說(shuō)明: 

  • 對(duì)數(shù)據(jù)庫(kù)的修改主要指的是修改數(shù)據(jù)庫(kù)的字符集,校驗(yàn)規(guī)則

備份和恢復(fù)

備份

語(yǔ)法:

mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫(kù)名 > 數(shù)據(jù)庫(kù)備份存儲(chǔ)的文件路徑 

 

如上圖,先備份,然后把test1庫(kù)刪掉。

打開(kāi)看看 test1.sql 文件里的內(nèi)容,可以看到,其實(shí)把我們整個(gè)創(chuàng)建數(shù)據(jù)庫(kù),建表,導(dǎo)入數(shù)據(jù)的語(yǔ)句 都裝載這個(gè)文件中。 

還原

語(yǔ)法:

source 路徑/test1.sql;

注意事項(xiàng)

  •  如果備份的不是整個(gè)數(shù)據(jù)庫(kù),而是其中的一張表,怎么做?
# mysqldump -u root -p 數(shù)據(jù)庫(kù)名 表名1 表名2 > D:/mytest.sql 
  • 同時(shí)備份多個(gè)數(shù)據(jù)庫(kù) 
# mysqldump -u root -p -B 數(shù)據(jù)庫(kù)名1 數(shù)據(jù)庫(kù)名2 ... > 數(shù)據(jù)庫(kù)存放路徑 
  • 如果備份一個(gè)數(shù)據(jù)庫(kù)時(shí),沒(méi)有帶上-B參數(shù), 在恢復(fù)數(shù)據(jù)庫(kù)時(shí),需要先創(chuàng)建空數(shù)據(jù)庫(kù),然后使用數(shù)據(jù) 庫(kù),再使用source來(lái)還原。 

查看連接情況

語(yǔ)法: 

show processlist ;

 可以告訴我們當(dāng)前有哪些用戶(hù)連接到我們的MySQL,如果查出某個(gè)用戶(hù)不是你正常登陸的,很有可能你 的數(shù)據(jù)庫(kù)被人入侵了。發(fā)現(xiàn)自己數(shù)據(jù)庫(kù)比較慢時(shí),可以用這個(gè)指令來(lái)查看數(shù)據(jù)庫(kù)連接情況。

表的操作

創(chuàng)建表

語(yǔ)法:

CREATE TABLE table_name (
        field1 datatype,
        field2 datatype,
        field3 datatype
) 

character set 字符集 collate 校驗(yàn)規(guī)則 engine 存儲(chǔ)引擎; 

說(shuō)明: 

  • field 表示列名
  • datatype 表示列的類(lèi)型
  • character set 字符集,如果沒(méi)有指定字符集,則以所在數(shù)據(jù)庫(kù)的字符集為準(zhǔn)
  • collate 校驗(yàn)規(guī)則,如果沒(méi)有指定校驗(yàn)規(guī)則,則以所在數(shù)據(jù)庫(kù)的校驗(yàn)規(guī)則為準(zhǔn) 

創(chuàng)建表案例

create table users (
        id int,
        name varchar(20) comment '用戶(hù)名',
        password char(32) comment '密碼是32位的md5值',
        birthday date comment '生日'
) character set utf8 engine MyISAM;

說(shuō)明:

comment表示對(duì)該列的文字說(shuō)明。

  • 不同的存儲(chǔ)引擎,創(chuàng)建表的文件不一樣.

users 表存儲(chǔ)引擎是 MyISAM ,在數(shù)據(jù)目中有三個(gè)不同的文件,分別是:

  • users.frm:表結(jié)構(gòu)
  • users.MYD:表數(shù)據(jù)
  • users.MYI:表索引

另一個(gè)表:

 不同的存儲(chǔ)引擎,創(chuàng)建表的文件不一樣。

第二個(gè)表的文件只有兩個(gè)。

查看表結(jié)構(gòu)

desc 表名; 

如上圖,可以更詳細(xì)的知道創(chuàng)建表時(shí)的信息。把分號(hào)換成 \G,可以進(jìn)行格式化。 

修改表

在項(xiàng)目實(shí)際開(kāi)發(fā)中,經(jīng)常修改某個(gè)表的結(jié)構(gòu),比如字段名字,字段大小,字段類(lèi)型,表的字符集類(lèi)型, 表的存儲(chǔ)引擎等等。

我們還有需求,添加字段,刪除字段等等。這時(shí)我們就需要修改表。 

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename DROP (column); 

先在表中填入如上數(shù)據(jù)。

在users表添加一個(gè)字段,用于保存圖片路徑 

修改name,將其長(zhǎng)度改成60

刪除password列:

注意:刪除字段一定要小心,刪除字段及其對(duì)應(yīng)的列數(shù)據(jù)都沒(méi)了 

 修改表名為user:

to:可以省掉 

將name列修改為xingming:

mysql> alter table user change name xingming varchar(60);   注意--新字段需要完整定義 

刪除表

語(yǔ)法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... 

示例:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL最大連接數(shù)max_connections設(shè)置的兩種方法

    MySQL最大連接數(shù)max_connections設(shè)置的兩種方法

    MySQL的最大連接數(shù)可以通過(guò)兩種方法進(jìn)行設(shè)置,通過(guò)命令行臨時(shí)修改和通過(guò)配置文件永久修改這兩種方法,本文將通過(guò)代碼示例給大家詳細(xì)的講解一下這兩種方法,需要的朋友可以參考下
    2024-05-05
  • 結(jié)合PHP腳本添加和查詢(xún)MySQL數(shù)據(jù)的基本教程

    結(jié)合PHP腳本添加和查詢(xún)MySQL數(shù)據(jù)的基本教程

    這篇文章主要介紹了結(jié)合PHP腳本添加和查詢(xún)MySQL數(shù)據(jù)的基本教程,即在PHP程序中使用基本的SELECT FROM和INSERT INTO語(yǔ)句,需要的朋友可以參考下
    2015-12-12
  • 最新評(píng)論

    慈利县| 五河县| 同心县| 师宗县| 龙陵县| 达日县| 宝兴县| 苍梧县| 海口市| 吉木乃县| 大庆市| 平陆县| 章丘市| 孝昌县| 梓潼县| 石家庄市| 洪泽县| 江西省| 东山县| 加查县| 普兰店市| 涪陵区| 凯里市| 工布江达县| 蓝田县| 商丘市| 宜阳县| 嘉荫县| 婺源县| 海门市| 奈曼旗| 大关县| 历史| 布尔津县| 嘉禾县| 稷山县| 米林县| 工布江达县| 江安县| 巴里| 卢龙县|