溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

發(fā)布時(shí)間:2022-01-07 10:53:40 來(lái)源:億速云 閱讀:126 作者:柒染 欄目:云計(jì)算

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

查看數(shù)據(jù)庫(kù)有三種方式:
第一種,直接進(jìn)入數(shù)據(jù)庫(kù)查看
mysql> show databases;
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
1.intformation_schema數(shù)據(jù)庫(kù)保存了MySQL服務(wù)器所有的信息。如數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)表,標(biāo)藍(lán)的數(shù)據(jù)類(lèi)型,訪問(wèn)權(quán)限等。
2.performance_schemaMySQL5.5版本新增的新性能優(yōu)化的引擎,主要用于收集數(shù)據(jù)庫(kù)服務(wù)器的性能參數(shù)。MySQL用戶(hù)不能創(chuàng)建存儲(chǔ)引擎為performance_schema的表。
3.mysql是數(shù)據(jù)庫(kù),保存?zhèn)z賬號(hào)信息,權(quán)限信息等。
4.sysmysql5.7增加了sys系統(tǒng)數(shù)據(jù)庫(kù),可以快速了解系統(tǒng)的元數(shù)據(jù),元數(shù)據(jù)是關(guān)于數(shù)據(jù)信息的數(shù)據(jù)。如數(shù)據(jù)庫(kù)名或表名,列的數(shù)據(jù)類(lèi)型,或訪問(wèn)權(quán)限等。

第二種,以行的方式顯示:
mysql> show databases\G;
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
第三種,在shell中查看:
[root@localhost ~]# mysql -e 'show databases' -uroot -p123456
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
創(chuàng)建數(shù)據(jù)庫(kù):
語(yǔ)法: create database 數(shù)據(jù)庫(kù)名;
創(chuàng)建數(shù)據(jù)庫(kù)主義事項(xiàng):mysql數(shù)據(jù)存儲(chǔ)區(qū)以目錄方式表示mysql數(shù)據(jù)庫(kù)。因此數(shù)據(jù)庫(kù)名,必須以系統(tǒng)約束的目錄名字一致,不允許文件和目錄名中有特殊符號(hào),在mysql數(shù)據(jù)庫(kù)名中字母會(huì)被自動(dòng)刪除。
[root@localhost ~]# ls /data/mysql/data/
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
遵從目錄約束,數(shù)據(jù)庫(kù)名不能超過(guò)64個(gè)字符,包含特殊字符或者全部由數(shù)字或保留字組成的名必須要用反引號(hào)`括起來(lái)(反引號(hào)括起來(lái),在查看數(shù)據(jù)庫(kù)時(shí)反引號(hào)不顯示)。數(shù)據(jù)庫(kù)不能重名。
有特殊符號(hào)的數(shù)據(jù)庫(kù)名,用反引號(hào)括起來(lái),可以創(chuàng)建。
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
有特殊符號(hào)的數(shù)據(jù)庫(kù)名不用反引號(hào)括起來(lái),不可以創(chuàng)建
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
在查看數(shù)據(jù)庫(kù)時(shí)不顯示反引號(hào)。
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
新創(chuàng)建的數(shù)據(jù)庫(kù)會(huì)存放在數(shù)據(jù)庫(kù)目錄當(dāng)中。(使用特殊符號(hào)的數(shù)據(jù)庫(kù)在目錄中根據(jù)當(dāng)前系統(tǒng)默認(rèn)算法顯示)
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
查看數(shù)據(jù)庫(kù)目錄:
進(jìn)入到要操作的數(shù)據(jù)庫(kù)當(dāng)中
mysql> use HA-test

查看當(dāng)前所在數(shù)據(jù)庫(kù)的位置
mysql> select database()
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
在命令行進(jìn)入數(shù)據(jù)庫(kù):
[root@localhost ~]# mysql -uroot -p HA-test
查看登錄的時(shí)間,登錄的用戶(hù),登錄到的數(shù)據(jù)庫(kù),
mysql> select now(),usr(),database();怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
刪除數(shù)據(jù)庫(kù):
mysql> drop database HA-test;

查看數(shù)據(jù)庫(kù)
msyql>show databases;

在生產(chǎn)環(huán)境下,在命令行使用 mv命令把數(shù)據(jù)庫(kù)目錄下的庫(kù)移動(dòng)到別的目錄下,即從mysql數(shù)據(jù)庫(kù)中刪除了庫(kù)又做了備份。
想要恢復(fù)HA數(shù)據(jù)庫(kù)在從/tmp把HA庫(kù)移動(dòng)到數(shù)據(jù)庫(kù)目錄下

使用if exists字句避免刪除不存在的數(shù)據(jù)出現(xiàn)錯(cuò)誤信息(一般使用在shell腳本中,

如果不使用if exists就會(huì)報(bào)錯(cuò)):
mysql> drop database if exists HA-test;   #如果存在則刪除

也可以在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)使用
mysql> create database if not exists HA;    #如果不存在則創(chuàng)建

關(guān)于表的操作:
創(chuàng)建表create:
語(yǔ)法:create table 表名 (字段名 類(lèi)型)
mysql> use HA;
mysql> create table se(id int(20),name char(40),age int);

如果不進(jìn)入數(shù)據(jù)庫(kù),創(chuàng)建表:
語(yǔ)法:create table 數(shù)據(jù)庫(kù)名.表名 (字段名 類(lèi)型)
msyql> create table HA.se(id int(20),name char(40),age int);

查看表相關(guān)信息:
mysql> use HA;
mysql> show tables;

查看表結(jié)構(gòu):
使用desc命令來(lái)查看表結(jié)構(gòu)(desc 表名)。可以不進(jìn)入數(shù)據(jù)庫(kù)查看  則輸入 desc 數(shù)據(jù)庫(kù)名.表名。
mysql> use HA;                                                          
mysql> desc se;

不進(jìn)入庫(kù)查看表:mysql> desc HA.se;

還可以用以下命令查看表結(jié)構(gòu),會(huì)一種就可以。
mysql> explain mysql.user;
mysql> show columns from mysql.user;
mysql> show fields from mysql.user;
mysql> show columns from mysql.user like '%user';

查看創(chuàng)建表執(zhí)行了哪些命令:
mysql> show create table se\G
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
指定默認(rèn)存儲(chǔ)引擎和字符集:
如果不指定存儲(chǔ)引擎和字符集,默認(rèn)使用安裝mysql時(shí)的存儲(chǔ)引擎和字符集。
mysql> create table student2(id int(20),name char(40),age int) ENGINE=InnoDB(或其他存儲(chǔ)引擎) DEFAULT CHARSET=utf8(或其他字符集);
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

刪除表:
mysql> drop table 表名。

禁止預(yù)讀表信息:
沒(méi)有禁止前裝換數(shù)據(jù)庫(kù)會(huì)有提示信息(禁不禁止都沒(méi)不影響操作)
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
解決這個(gè)問(wèn)題可以再登錄mysql時(shí)添加參數(shù)-A
[root@localhost ~]# mysql -uroot -p -A
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

修改表名稱(chēng)alter:
語(yǔ)法:alter table 表名 rename 新表名;
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

修改表中的字段類(lèi)型:
語(yǔ)法:alter table 表名 modify 修改字段名修改類(lèi)型
查看students表結(jié)構(gòu)
mysql> desc students;
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
mysql> alter table studens modify id int(10);怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

修改表中的字段類(lèi)型和字段名稱(chēng):
語(yǔ)法:alter table 表名 change 源字段名 新字段名 新字段類(lèi)型;
mysql> alter table studens change name gname char(20);怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

注意:change和modify的區(qū)別:
change即可以列重命名又可以更改列類(lèi)型。modify只能更改列類(lèi)型,不可以給列重命名。
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
在表中添加字段:
語(yǔ)法:alter table 表名 add 字段 字段類(lèi)型。
在表中添加字段但并不是說(shuō)可以隨意添加字段的值,例如enum是枚舉類(lèi)型,他只能輸入管理員定義的值。

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

查看表結(jié)構(gòu)怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

在sex行中輸入其它,而不是m或w就會(huì)報(bào)錯(cuò):

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
輸入m或w就不會(huì)報(bào)錯(cuò):

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

同時(shí)插入多條記錄:mysql> insert into studens values(1,'lisi',24,'m'),(2,'zhangsan',25,'w');

查詢(xún)表中記錄select:
語(yǔ)法:select  (或查詢(xún)的字段名) from 表名稱(chēng);  #號(hào)表示查詢(xún)表中所有記錄
查詢(xún)表中所有記錄

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

當(dāng)表中記錄比較多時(shí)可以使用\G查看

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
只查詢(xún)表中某個(gè)字段的內(nèi)容
mysql> select gname from studens;怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

查看別的庫(kù)的表或不在本數(shù)據(jù)庫(kù)上查看表
語(yǔ)法:select 字段 from 數(shù)據(jù)庫(kù)名.表名;  #等同于先進(jìn)入use數(shù)據(jù)庫(kù),然后再看表內(nèi)容
怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

刪除表中記錄:
刪除指定的行:語(yǔ)法 delete from 表名 where 要?jiǎng)h除的條件
例如:刪除studens表中的id為1的行
mysql> select id from studens;

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
mysql> delete from studens where id=1;怎么實(shí)現(xiàn)MySQL語(yǔ)句分析
mysql> select id from studens;

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

刪除為空的行:語(yǔ)法 delete from 表名 where 條件 is null;
例如:刪除age為空的行

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

mysql> delete from studens where age is null;怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

更新記錄:
語(yǔ)法:update 表名 set 條件 where 條件;
例如:把表中id為2的記錄age更新為30
mysql> update studens set age='30' where id=2;

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

更新表中所有列的值都更新
例如:把表中所有g(shù)name都更新為zhangliu;
mysql> update studens set gname='zhangliu';

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

怎么實(shí)現(xiàn)MySQL語(yǔ)句分析

看完上述內(nèi)容,你們掌握怎么實(shí)現(xiàn)MySQL語(yǔ)句分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI