MySQL基礎(chǔ)總結(jié)

概述

?什么是DB?:存儲數(shù)據(jù)的倉庫,本質(zhì)就是一個文件系統(tǒng)。

?什么是DBMS?:操作和管理DB的大型軟件。

?分類:Java相關(guān)的MySQL和Oracle,其他有DB2和SQLserver。

?DB中的表(類)、字段(屬性)、函數(shù)(方法)、記錄(對象)。

?記錄一行信息,列代表字段。

?關(guān)系型DB:存放實體與實體之間關(guān)系的DB

?非關(guān)系型DB:存放的是對象(redisNO-sql)

?分類:定義DDL、操作DML、控制DCL、查詢DQL

?字符一定要加引號。

表結(jié)構(gòu)語句

?基本指令

??切換:use DB名;

??show database DB名;

??drop database DB名;

??查看表結(jié)構(gòu):desc 表名;

??查看正在使用的DB:select database();

??修改密碼:mysqladmin -u用戶名 -p舊密碼 password 新密碼

?修改表結(jié)構(gòu):

??增

???創(chuàng)建表:create table sort(id int,username varchar );

???增列:alter table 表名 add 列名 類型(長度) 約束;

???第一個位置添加可加first,指定之后可加after。

???增行:insert into 表名(列名1,列名2...) value (列值1,列值2...);

??刪

???刪列:alter table 表名 drop 列名

???刪行:delete/truncate from 表名 where 條件;

???delete、truncate和drop的區(qū)別:

DROP用于刪除表,數(shù)據(jù)庫等.

????TRUNCATE和DELETE都是刪除表數(shù)據(jù).

????delete一條一條的刪,主鍵不清空;DML

????truncate一次性刪除,主鍵清零;DDL

??改

???改列名:alter table 表名 change 舊列名 新列名 類型 約束;

???改類型:alter table 表名 modify 列名 類型 約束;

???改表名:rename table 舊表名 to 新表名;

???改行:update 表名 set 字段名=字段值 where 條件;

??***查

???select ... from 表名 where 條件 group by 分組字段 having 條件 order by 排序字段 ase|desc升降序

???查所有列:select * from 表名;

???查指定列:select 列名 from 表名;

???去除重復記錄:select distinct 列名 from 表名;

???設(shè)置別名:select * from 表名 as 別名;

?插入到哪,從哪刪除,修改什么,從哪查找。

?約束

??主鍵:標識當前記錄(非空唯一):id int primary key;

??主鍵自動增長:id int primary key auto_increment;

??刪除:alter table 表名 drop primary key;

??了解:mysql中常用的約束:主鍵約束(primary key) 唯一約束(unique) 非空約束(not null) 外鍵約束(foreign key)

?DOS中亂碼問題:

??在mysql安裝目錄下有my.ini文件

??default-character-set=gbk 客戶端編碼設(shè)置

??character-set-server=utf8 服務器端編碼設(shè)置

?條件語句where

??名字不為空:where name is not null;

??模糊查詢

???"龍" 值為龍

???"%龍" 值以"龍"結(jié)尾

???"龍%" 值以"龍"開頭

???"%龍%" 值包含"龍"

???"_"查詢含有一個字符的內(nèi)容

??模糊分頁

???limit m,n

???m為下標,n為數(shù)據(jù)個數(shù),下標從0開始

??聚合函數(shù)

???忽略null值,對一列進行運算

???sum(),avg(),max(),min(),count();

???【注意】不推薦使用,會降低執(zhí)行效率,一般獲取到數(shù)據(jù),通過Java代碼進行操作。

???統(tǒng)計n條記錄:select count(*) from products;

??where和having的區(qū)別

???1.where 對分組前數(shù)據(jù)過濾 ;having 對分組后數(shù)據(jù)過濾

???2.where 后面不能使用聚合函數(shù),having可以

?數(shù)據(jù)類型

??枚舉:enumValue ENUM("北京","上海","廣州","深圳")==int(4)

??集合:likes SET('AUGA3', 'AKM', 'M4A1', 'Kar98k')用二進制調(diào)用

?聯(lián)表查詢

??一對一,建議采用內(nèi)聯(lián)查詢

??一對多,使用內(nèi)聯(lián)查詢

??多對多,要加中間表去使用

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

相關(guān)閱讀更多精彩內(nèi)容

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