溫馨提示×

溫馨提示×

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

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

mysql 數(shù)據(jù)庫的基本操作1

發(fā)布時間:2020-06-06 19:33:19 來源:網(wǎng)絡(luò) 閱讀:375 作者:Erstickt 欄目:MySQL數(shù)據(jù)庫

mysql數(shù)據(jù)庫管理 day01
相關(guān)概念問題
數(shù)據(jù)庫介紹? 存儲數(shù)據(jù)的倉庫

數(shù)據(jù)庫服務(wù)都那些公司在使用?
購物網(wǎng)站 游戲網(wǎng)站 金融網(wǎng)站

數(shù)據(jù)服務(wù)存儲的是什么數(shù)據(jù)?
帳號信息 對應(yīng)的數(shù)據(jù)信息

提供數(shù)據(jù)庫服務(wù)的軟件有那些?
開源軟件 mysql 、 mongodbredis
商業(yè)軟件 oracle 、 db2 、 SQL SERVER

軟件是否跨平臺? Linux Unix Windows

軟件包的來源: 官網(wǎng)下載 使用操作系統(tǒng)安裝光盤自帶軟件包

mysql軟件介紹? mysql mariadb
關(guān)系型數(shù)據(jù)型軟件: 要按照一定組織結(jié)構(gòu)存儲數(shù)據(jù),并且數(shù)據(jù)和數(shù)據(jù)之間可以互相關(guān)聯(lián)操作。
跨平臺 Linux Unix Windows
可移植性強
支持多種語言Python/Java/Perl/PHP

生產(chǎn)環(huán)境中,數(shù)據(jù)服務(wù)和網(wǎng)站服務(wù)一起使用 構(gòu)建網(wǎng)站運行平臺
LNMP LAMP WNMP WAMP

mysql軟件包的封包類型: rpm包 源碼包 可以自定義安裝信息

關(guān)系型數(shù)據(jù)庫軟件(NoSQL)mongodb 、
redis 、 memcached

1 搭建mysql數(shù)據(jù)庫服務(wù)器
2 mysql服務(wù)基本使用
3 mysql數(shù)據(jù)類型

一、搭建mysql數(shù)據(jù)庫服務(wù)器 192.168.4.51
裝包
修改配置文件
啟動服務(wù)
查看服務(wù)進程和端口號
服務(wù)名 mysqld
服務(wù)的主配置文件 /etc/my.cnf
數(shù)據(jù)目錄 /var/lib/mysql
日志文件 /var/log/mysqld.log

二、數(shù)據(jù)庫服務(wù)的基本使用
2.1 使用初始密碼在本機連接數(shù)據(jù)庫服務(wù)
mysql [-h數(shù)據(jù)庫服務(wù)器ip地址 -u用戶名 -p'密碼'

2.2 重置本機連接密碼 mysql> alter user

root@"localhost" identified by "密碼";

2.3 把數(shù)據(jù)存儲到數(shù)據(jù)庫服務(wù)器上的過程?
2.4 sql命令分類? DDL DML DTL DCL
2.5 sql命令使用規(guī)則?
2.6 管理數(shù)據(jù)庫的sql命令 及 庫名的命名規(guī)則
2.7 管理表的 sql命令
建表的語法格式?
create table 庫名.表名(
字段名 類型(寬度) 約束條件,
字段名 類型(寬度) 約束條件,
.....
);

2.8 管理記錄的sql命令
查看
插入
更新
刪除
+++++++++++++++++++++++++
三、mysql數(shù)據(jù)類型
3.1 數(shù)值類型 (成績 年齡 工資 )
每種類型的存儲數(shù)據(jù)的范圍都是固定
整數(shù)類型 (只能存儲整數(shù))
微小整型 小整型 中整型 大整型 極大整型
tinyint smallint MEDIUMINT INT bigint
*****unsigned 使用數(shù)值類型有符號的范圍。

浮點型 (存儲小數(shù))
float(M,N)
double(M,N)

M 設(shè)置總位數(shù)
N 設(shè)置小數(shù)位位數(shù)

正數(shù).小數(shù) 總位數(shù) 整數(shù)位 小數(shù)位
18088.88 7 5 2

3.2 字符類型 (商品名稱 籍貫 姓名 生產(chǎn)廠家)
char (255) 固定長度字符類型
varchar (65532) 變長字符類型

大文本類型 (音頻文件 視頻文件 圖片文件)
blob
text

3.3 日期時間類型
(注冊時間 約會時間 開會時間 入職時間 生日)

年 year YYYY 2018
日期 date YYYYMMDD 20180423
時間 time HHMMSS 161958
日期時間 datetime/timestamp
YYYYMMDDHHMMSS 20180423161958

獲取日期時間給對應(yīng)的日期時間類型的字段賦值
獲取日期時間函數(shù)
now() 獲取當(dāng)期系統(tǒng)的時間
year(日期時間)獲取指定時間中的年
month(日期時間)獲取指定時間中的月
date(日期時間)獲取指定時間中的日期
day(日期時間)獲取指定時間中的號(天)
time(日期時間)獲取指定時間中的時間

可以使用2位數(shù)字給year類型的字段賦值,規(guī)律如下:
01-69 20XX
70-99 19XX

3.4 枚舉類型(插入記錄 時 記錄的值 在列舉的范圍內(nèi)選擇)
性別 愛好 專業(yè)

enum(值列表) 單選
set(值列表) 多選

數(shù)據(jù)類型的關(guān)鍵字 存儲范圍 賦值方式 合理使用數(shù)據(jù)類型

**劃重點
數(shù)值類型的寬度 是顯示寬度,不能夠給字段賦值的大小。字段的值由類型決

定。

mysql-day02
一 、字段約束條件
1.1 作用: 限制如何給字段賦值的
1.2 包括內(nèi)容有: NULL Key Default Extra
NULL 是否允許給字段賦null值
null 默認(rèn)允許賦null值
not null 不允許賦null值
key 鍵值類型:普通索引 唯一索引 全文索引 主鍵 外 鍵

Default 默認(rèn)值 作用:當(dāng)不被字段賦值時,使用默認(rèn)值給字段賦值
不設(shè)置默認(rèn)值是 系統(tǒng)定義的是null
default 值
Extra 額外設(shè)置 ,字段是否設(shè)置為自動增加,默認(rèn)沒有自動增長功能

二、修改表結(jié)構(gòu)
2.1 修改表結(jié)構(gòu)的命令
mysql> alter table 庫.表 執(zhí)行動作 ;

添加新字段 add 字段名 類型(寬度) [ 約束條件]

刪除已有字段 drop 字段名

修改已有字段的類型寬度及約束條件
*劃重點** 修改時不能與已經(jīng)存儲的數(shù)據(jù)矛盾的話不允許修改
modify 字段名 類型(寬度) [ 約束條件]

修改字段名
change 源字段名 新字段名 類型(寬度) [ 約束條件]

修改表名
alter table 源表名 rename [to] 新表名;

三、mysql鍵值
設(shè)置在表中字段上的,作用是約束如何給字段賦值。同時會給字段做索引。

索引介紹: 樹狀目錄結(jié)構(gòu) 類似與書的“目錄”
優(yōu)點:加快查詢表記錄的速度
缺點 : 會減慢編輯表記錄的速度,且占用磁盤的物理存儲空間
(delete insert update)

字典 總頁面數(shù) 1000頁

目錄信息
1------100頁 記錄目錄信息
101---1000頁 正文

查字典的方法
筆畫
部首
拼音

修正內(nèi)容時,修改內(nèi)容 添加內(nèi)容 刪除內(nèi)容

stuinfo /var/lib/mysql/db2/stuinfo.*
name age home class
DBA

3.1 鍵值:普通索引 唯一索引 全文索引 主鍵 外 鍵


3.1.1普通索引的使用(index)
使用規(guī)則?

查看
desc 表名;
show index from 表名;
Table: t2
Key_name: aaa
Column_name: age
Index_type: BTREE (二叉樹)

創(chuàng)建
在已有表創(chuàng)建
create index 索引名 on 表名(字段名);

建表是時創(chuàng)建
create table 表名(
字段列表,
index(字段名),
index(字段名),
);

刪除
drop index 索引名 on 表名;

+++++++++++++++++++++++++++++++
3.1.2主鍵 primary key
(普通主鍵 復(fù)合主鍵 主鍵+auto_increment)

使用規(guī)則?

查看 desc 表; key ----> PRI

創(chuàng)建
在已有表創(chuàng)建 alter table 表 add primary key(字段名);

建表時創(chuàng)建
create table 表名(
字段列表,
primary key(字段名)
);

創(chuàng)建復(fù)合主鍵的使用:多個字段一起做主鍵,插入記錄時,只要做主鍵字段的值不同時重復(fù),就可以插入記錄。(必須一起創(chuàng)建一起刪除,多個字段的值不允許同時相同)
desc mysql.db;
desc mysql.user;

主鍵primary key 通常和auto_increment連用。
讓字段的值自動增長 i++
數(shù)值類型 i=i+1

刪除主鍵 mysql> alter table 表 drop primary key;
++++++++++++++++++++++++++++++++++++++
3.1.3外 鍵(作用 限制如何給字段賦值的)
給當(dāng)前表中字段賦值時,值只能在指定(其他)表的指定字段值的范圍里選擇。

使用規(guī)則?

創(chuàng)建外鍵 foreign key 的命令格式:
create table 表(
字段名列表,
foreign key(字段名) references 表名(字段名)
on update cascade on delete cascade
)engine=innodb;

繳費表
use studb;
create table jfb(
jfb_id int(2) zerofill primary key auto_increment,
name char(15),
pay float(7,2)
)engine=innodb;

insert into jfb (name,pay)values("bob",26800);
insert into jfb (name,pay)values("tom",26000);

select * from jfb;

班級表
create table bjb(
bjb_id int(2) zerofill,
name char(15),
foreign key(bjb_id) references jfb(jfb_id)
on update cascade on delete cascade
)engine=innodb;

insert into bjb values(3,"lucy");
insert into bjb values(1,"bzengjiaob");
insert into bjb values(2,"tom");
select * from bjb;

mysql> update jfb set jfb_id=9 where name="bob";
mysql> delete from jfb where jfb_id=2;
select from jfb;
select
from bjb;

查看 mysql> show create table 表名;

刪除外鍵
alter table 表名 drop foreign key 外鍵名;
alter table bjb drop foreign key bjb_ibfk_1;
mysql> delete from jfb where jfb_id=02; 他有同步的作用 班級表也沒有這一條
mysql> update jfb set name="xixi"where jfb_id=05; 修改繳費表ID是05 把他的名字改成xixi

在已有表創(chuàng)建
mysql> delete from bjb;
mysql> alter table bjb add foreign key(bjb_id) references jfb
(jfb_id) on update cascade on delete cascade;

向AI問一下細節(jié)

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

AI