數(shù)據(jù)庫:數(shù)據(jù)庫是存儲數(shù)據(jù)的倉庫
數(shù)據(jù)庫管理系統(tǒng)(DBMS):是一種操作和管理數(shù)據(jù)庫的大型軟件迫卢,
mysql:免費(fèi),開源冶共,速度快乾蛤,體積小,適用于中小型企業(yè)捅僵。
非關(guān)系型數(shù)據(jù)庫Nosql(不是沒有sql家卖,是比關(guān)系型數(shù)據(jù)庫更加強(qiáng)大的數(shù)據(jù)庫):Mongodb,Redis庙楚,HBase....
關(guān)系型數(shù)據(jù)庫Rdbms :(1).表table:具有固定的列數(shù)和任意的行數(shù)上荡。
(2).database數(shù)據(jù)庫:數(shù)據(jù)庫是一些關(guān)聯(lián)表的集合。
(3).Fied列(字段)
(4).row行
(5).primary key(主鍵)馒闷,主鍵是唯一的酪捡,一個(gè)數(shù)據(jù)庫表中只能有一個(gè)主鍵。
(6).foreign key (外鍵)纳账,外鍵用于關(guān)聯(lián)兩個(gè)表沛善。
(7).index(索引):理解為目錄
一個(gè)自補(bǔ)全的mysql軟件:mycli -u root
進(jìn)入數(shù)據(jù)庫:mysql -u root -p
(1)創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名稱;
(2)創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名稱 charset=utf8塞祈;
查看所有數(shù)據(jù)庫:show databases;
進(jìn)入(切換)數(shù)據(jù)庫:use 數(shù)據(jù)庫名稱;
刪除數(shù)據(jù)庫:drop database 數(shù)據(jù)庫名稱帅涂;
mysql 關(guān)系型數(shù)據(jù)庫:
mysql的默認(rèn)端口是:3306议薪;
Ascll 是美國的
計(jì)算機(jī)里面有256個(gè)Ascll字符,一個(gè)Ascll在內(nèi)存中站1個(gè)字節(jié)媳友。2的8次方=256
計(jì)算機(jī)只認(rèn)識二進(jìn)制的字符01010101;
iso:標(biāo)準(zhǔn)iso-646
unicode:標(biāo)準(zhǔn)iso-10646
iso把unicode收購了:標(biāo)準(zhǔn)utf16
utf8:萬國碼(覆蓋了全國所有的編碼)
數(shù)據(jù)庫:數(shù)據(jù)庫是一個(gè)裝東西的容器斯议,
存儲引擎:采用不同性能的引擎
mysql的三種存儲引擎:(1).myisam:沒有外鍵,沒有事務(wù)醇锚,是5.5版本之前的默認(rèn)引擎
(2).innodb:5.5版本以后默認(rèn)的存儲引擎是innodb,存在磁盤里面
(3).memory:存在內(nèi)存里面
什么是 事務(wù):要么全部執(zhí)行哼御,要么全部不執(zhí)行。
什么是sql:結(jié)構(gòu)化查詢語言f焊唬,sql是專門為數(shù)據(jù)庫建立的操作命令集
DDL: 數(shù)據(jù)定義語言 用來定義數(shù)據(jù)庫對象:創(chuàng)建庫恋昼、表、列等.
DML: 數(shù)據(jù)操作語言 用來操作數(shù)據(jù)表中的記錄
DQL: 數(shù)據(jù)查詢語言 用來查詢數(shù)據(jù)
DCL: 數(shù)據(jù)控制語言 用來定義訪問權(quán)限和安全級別
一本書:《浪潮之巔》
MySQL支持多種類型,大致可以分為三類
(1).數(shù)值類型:(1).int (2).double:浮點(diǎn)型,例如double(5,2)表示最多5位,其中必須有2位小數(shù),即最大值為999.99;
4.2 char
(2).字符串類型:(1)char:固定長度字符串赶促,如果輸入的不夠會(huì)自動(dòng)補(bǔ)全.(2).varchar:可變長字符串類型液肌。(3).text:字符串類型;(4).bold:二進(jìn)制類型鸥滨;
(3).時(shí)間類型:(1).date :某年某月某日嗦哆;(2).time:時(shí)間類型 :某事某分某秒谤祖。(3).datetime:某年某月某日某事某分某秒。
創(chuàng)建學(xué)生表
創(chuàng)建表: 制定表結(jié)構(gòu)步驟:
先進(jìn)入某一個(gè)數(shù)據(jù)庫:use 數(shù)據(jù)庫名
輸入建表命令;
CREATE TABLE 表名(
列名1 列名類型 [約束],
列名2 列名類型 [約束],.....
列名N 類的類型 [約束])老速;
添加一列(本來我已經(jīng)有4個(gè)字段,又想添加一個(gè)新的字段)
添加一個(gè)新的字段:alter table 表名 add 列名 數(shù)據(jù)類型; 例如:alter table students add score int;
查看表的字段信息(結(jié)構(gòu)):desc 表名
修改一個(gè)表的字段類型:alter table 表名 modify 字段名 數(shù)據(jù)類型;例如:alter table students modify id bigint;
刪除一列:alter table 表名 drop 字段;例如:alter table students drop name;
修改表名:rename table 原表名 TO 新表名粥喜;
查詢某張表的創(chuàng)建細(xì)節(jié): show create table 表名; 例如:show create table student
修改表的字符集:alter table 表名 charset utf8; 例如:alter table student charset utf8;
修改表的列名:alter table 表名 change 原字段名 新字段名 varchar(20) ;例如:alter table students change name newname varchar(20);
刪除表:drop table 表名橘券;