MySQL簡(jiǎn)介及常用命令

MySql數(shù)據(jù)庫(kù)

概念:存放數(shù)據(jù)的倉(cāng)庫(kù),就是數(shù)據(jù)庫(kù)。 特點(diǎn):持久化存儲(chǔ)。本質(zhì)就是一個(gè)文件系統(tǒng)。

按特定格式(數(shù)據(jù)存儲(chǔ)在一張張表中,就形成了特定的形式)進(jìn)行存儲(chǔ),用戶可對(duì)數(shù)據(jù)進(jìn)行增刪改查

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,database management system)

是一種用來(lái)管理維護(hù)、維護(hù)、建立數(shù)據(jù)庫(kù)的軟件。數(shù)據(jù)存在于數(shù)據(jù)庫(kù)中。但是用戶需要用DBMS來(lái)管理數(shù)據(jù)。

數(shù)據(jù)庫(kù)命令

show databases;顯示數(shù)據(jù)

在cmd中

mysql -uroot -h10.10.34.114 -p000000遠(yuǎn)程登錄 -h表示host后接IP地址

SQL語(yǔ)句

structed query language結(jié)構(gòu)化的查詢語(yǔ)言

  • DDL數(shù)據(jù)庫(kù)定義語(yǔ)言create、alter、drop
  • DML數(shù)據(jù)庫(kù)操作語(yǔ)言insert、delete、update
  • DCL數(shù)據(jù)庫(kù)控制語(yǔ)言。用來(lái)定義數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限和安全級(jí)別,以及創(chuàng)建用戶
  • DQL數(shù)據(jù)庫(kù)查詢語(yǔ)言select,where,from、group by

書(shū)寫(xiě)規(guī)范

  • 可單行,可多行書(shū)寫(xiě),以分號(hào);結(jié)尾
  • 可以使用空格縮進(jìn)來(lái)增強(qiáng)代碼可讀性
  • 語(yǔ)句對(duì)大小寫(xiě)不敏感,但是==自定義內(nèi)容應(yīng)區(qū)分大小寫(xiě)==
  • 注釋多行 /**/ 單行注釋 # --
  • SQLyog中語(yǔ)句默認(rèn)大寫(xiě),自定義字符小寫(xiě)。執(zhí)行SQL語(yǔ)句,快捷鍵F9

DDL

關(guān)于數(shù)據(jù)庫(kù)的操作:

  • show databases;顯示數(shù)據(jù)庫(kù)
  • create database 名字;創(chuàng)建數(shù)據(jù)庫(kù)
  • select version();查看數(shù)據(jù)庫(kù)版本號(hào)
  • use 數(shù)據(jù)庫(kù)名;切換使用數(shù)據(jù)庫(kù)
  • show tables;查看數(shù)據(jù)庫(kù)中所有的表
  • show tables from 數(shù)據(jù)庫(kù)名;查看其他數(shù)據(jù)庫(kù)的表
  • select database();查看正在使用的數(shù)據(jù)庫(kù)
  • show create database 數(shù)據(jù)庫(kù);查看數(shù)據(jù)部的建表語(yǔ)句
  • create database db2 default charset gbk;在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定數(shù)據(jù)庫(kù)的編碼集為gbk
  • drop database db2;刪除數(shù)據(jù)庫(kù)

關(guān)于表的操作:

  • create table 表名(

    字段名1 字段類型 約束,

    字段名2 字段類型 約束 ,

    ……

    字段名n 字段類型 約束 //最后一個(gè)不需要加逗號(hào)

    );創(chuàng)建表

  • 創(chuàng)建表之前先檢查是否存在,不存在才創(chuàng)建

    create table if not exists name(

    ……

    );

  • 查看標(biāo)的結(jié)構(gòu),就是表的字段以及類型和約束等 desc 表名;

  • 查看建表語(yǔ)句 show create table 表名;

  • 刪除表 drop table 表名;

  • 添加一個(gè)字段,實(shí)際上就是修改了表的結(jié)構(gòu),所以用alter

    alter table 表名 add 字段 字段類型 約束;

  • 修改現(xiàn)有字段的字段類型/約束

    alter table 表名 modify 新的字段類型 新約束;

  • 修改現(xiàn)有字段的名稱

    alter table 表名 change 舊列名 新列名 字段類型;

  • 刪除現(xiàn)有字段

    alter table 表名 drop 列名;

  • 修改表的名稱

    rename table 舊名稱 to 新名稱;

    (只可以修改標(biāo)的名稱,不可以修改數(shù)據(jù)庫(kù)名稱)

  • 修改表編碼集

    alter table 表名 charset gbk;

SQL常用數(shù)據(jù)類型

整數(shù) int

字符 varchar(字符長(zhǎng)度)

小數(shù)double

日期date

DML 數(shù)據(jù)操作語(yǔ)言

對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行操作,可對(duì)表數(shù)據(jù)的增加、刪除、修改

  • 在表中插入數(shù)據(jù)

    insert into 表名 (字段) value==s==(字段值);

    注意事項(xiàng):1.傳值時(shí),傳入的值得順序要和字段的順序一致

    2.傳值時(shí),傳入數(shù)據(jù)類型要和字段定義一致

    3.傳值時(shí),除了數(shù)值類型以外,其他類型都要用引號(hào)“”包裹。

    4.傳空值時(shí),可以不寫(xiě)該字段。或者給字段傳入null

    5.插入一條數(shù)據(jù)用values,插入多條用value

  • 一次傳入多條數(shù)據(jù)insert into 表名(字段)value(字段值),(字段值),(字段值);

  • 修改表中數(shù)據(jù)

    updata 表名 set 字段=’新值‘ where 約束 or 約束;

    如果不加約束,則整列都會(huì)被修改

  • 刪除數(shù)據(jù)

    刪除一條記錄 delete from 表名 where 約束;

    刪除多條記錄 deleter from 表名 where 約束 or 約束;

    不加約束則刪除表中所有數(shù)據(jù)

  • 刪除數(shù)據(jù)方法2

    truncate table 表名; 刪除所有數(shù)據(jù)

    與delete區(qū)別:delete刪除數(shù)據(jù)時(shí),逐條刪除。truncate直接刪除整個(gè)表,相當(dāng)于drop table,然后新建一個(gè)空表。如果數(shù)據(jù)量大,則truncate速率較高。

DQL數(shù)據(jù)庫(kù)查詢語(yǔ)言

  • 從數(shù)據(jù)庫(kù)中的表查找記錄

select 字段 from 表名

select * from 表名 查找所有字段

select * from 表名 where 約束

  • 查詢時(shí),起別名 用 as

select 字段 as 別名 from 表名; 查詢出的表是臨時(shí)視圖,而不是真實(shí)存在的表。as可以省略但是要加一個(gè)空格。

  • 查詢時(shí)去除重復(fù)數(shù)據(jù) distinct

    select distinct 要去重的字段 from 表名;

    對(duì)多個(gè)字段去重 效果是多個(gè)字段拼接后的結(jié)果 distinct要寫(xiě)在所有字段的前面

    select distinct 字段1,字段2 from 表名;

  • 在SQL中,數(shù)值+數(shù)值可以正常運(yùn)算,數(shù)值+字符串,如果字符可以轉(zhuǎn)化為數(shù)值,可以正常運(yùn)算,若不可以,結(jié)果為原數(shù)值

  • ifnull

    如果為空,始終指定數(shù)值替換

    select 原始值+ifnull(comm,100) 字段 from 表名 若為空全部替換為100.

  • 拼接字符串

    select concat(“字符串”,字段1,“字符串”,字段1)from 表名;

  • 使用限定的邏輯表達(dá)式

    與 and 英文表示between and 相當(dāng)于<= >=

    或 or 表示為in(數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)3,……)

    非 not 表示為<>

    <=> 表示等于,用于和null作比較

  • 模糊查詢

    查找出所有姓張的員工

    select * from 表名 where name like “張%”; %表示任意個(gè)數(shù)

    查找出所有姓張且名字為兩個(gè)字的員工

    select * from 表名 where name like “張_”;

    找所有名字中帶“一”的員工

    select * from 表名 where name like“%一%”;

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

1.先停止數(shù)據(jù)庫(kù)服務(wù)

計(jì)算機(jī)右鍵——管理——服務(wù)——找到MySQL——右鍵停止

任務(wù)管理器——服務(wù)——找到MySQL——右鍵停止

2.卸載

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容