數(shù)據(jù)庫了解
- 概念
- 數(shù)據(jù)庫就是一種特殊的文件,其中存儲著需要的數(shù)據(jù)
- 一個數(shù)據(jù)庫可以有多張表
- MySQL是一種關(guān)系型數(shù)據(jù)庫
- 具有關(guān)聯(lián)性數(shù)據(jù)的就是關(guān)系型數(shù)據(jù)庫
- MySQL是一種軟件可以用來創(chuàng)建mysql數(shù)據(jù)庫
- MySQL也是C/S構(gòu)架(底層TCP)
- MySQL客戶端
- 客戶端連接服務(wù)端使用TCP協(xié)議連接
- 使用時SQL語句操作
- MySQL服務(wù)器
- MySQL服務(wù)器操作數(shù)據(jù)庫
- 數(shù)據(jù)庫優(yōu)點
- 持久化存儲
- 讀寫速度高
- 保存速度有有效性
- 對程序支持非常好,容易擴展
- 數(shù)據(jù)庫詞匯
- 列:字段
- 行:記錄
- 表:記錄的集合
- 主鍵:唯一標(biāo)記一行記錄的
- 外鍵:對于一張表中某個字段的值是另一張表的主鍵的值
- 常見的關(guān)系型數(shù)據(jù)庫及底層了解
- RDBMS
- 是一種程序的簡稱,分為關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫
- 關(guān)系型數(shù)據(jù)庫
- MySQL(常用與制作網(wǎng)站)
- sqlite
- Oracle
- 常用版本 Oracle 10g Oracle 11g
- sqlserver(Microsoft)
- db2(IBM)
- 非關(guān)系型數(shù)據(jù)庫
- redis(處理緩存)
- mangodb(存儲非關(guān)系型數(shù)據(jù))
SQL語言概念
- SQL語句是一種結(jié)構(gòu)化查詢語句,可以用來操作RDBMS數(shù)據(jù)庫語言
- sql語句分類
MySQL基礎(chǔ)操作
- 安裝
- ubuntu:
- sudo apt-get install mysql-server(服務(wù)端)
- sudo apt-get install mysql-client(客戶端)
- 啟動
- 暫停
- 重啟
- sudo service mysql restart
- 配置文件
- /etc/mysql/mysql.conf.d/mysqld.cnf
MySQL的主要數(shù)據(jù)類型和約束
數(shù)據(jù)類型
整數(shù)型
小數(shù)
- decimal
- decimal(5, 2),表示一共存5位數(shù),小數(shù)占2位
字符串
- varchar
- char
- char(3)表示固定長度的字符串,長度不夠會用空格補全,不可以超過3個字符
- varchar
- varchar(3)填充ab就會存儲ab,不可以超過3個字符
時間類型
枚舉類型
test類型
ps:
- 對于圖片,音頻,視頻等文件,不存儲在數(shù)據(jù)庫中,而是上傳到服務(wù)器中,數(shù)據(jù)庫只保存文件的保存路徑
約束
約束是用來限制每一個字段的
主鍵primary key
非空not null
外鍵
數(shù)值類型
- tinyint 1個字節(jié),0-255
- smallint 2個字節(jié) 0-65535
- mediumint 3個字節(jié)
- int/integer 4個字節(jié)
- bigint 8個字節(jié)
字符串
用命令來操作數(shù)據(jù)庫
數(shù)據(jù)庫連接
- mysql -uroot -pmysql
- mysql -uroot -p (這種方式需要寫密碼)
退出數(shù)據(jù)庫
查看數(shù)據(jù)庫
顯示時間
顯示版本
創(chuàng)建數(shù)據(jù)庫
- create database python;(創(chuàng)建一個名稱為Python的數(shù)據(jù)庫)
- create database pythonnew charset=utf8;(創(chuàng)建一個字符集為utf8編碼名稱為pythonnew的數(shù)據(jù)庫)
刪除數(shù)據(jù)庫
- drop database python;(刪除名稱為Python的數(shù)據(jù)庫)
使用數(shù)據(jù)庫
查看當(dāng)前使用數(shù)據(jù)庫
數(shù)據(jù)表操作
- 顯示數(shù)據(jù)庫所有的表
- 創(chuàng)建一個數(shù)據(jù)表
- create table xxxxx(id int, name varcharm(30)); # 一個逗號創(chuàng)建一個字段
- create table xxxxx(id int primary key not null auto_increment, name varcharm(30)); # 添加約束在每一個字段后面加上約束
- 案例創(chuàng)建一個students表(id,name,age,high,gender,cls_id)
create table students( id int unsigned not null auto_increment parimary key, name varchar(30), age tinyint unsigned defult 0, high decimal(5,2), gender enum("男","女") default "男", cls_id int unsigned
數(shù)據(jù)表字段結(jié)構(gòu)的的增刪減查
- 增
- alter table students add birthday datetime;
- alter table 表名
- 刪
- 改
- alter table 表名 modify brithday data; 不重名
- alter table 表名 change brithday birth date default '1990-01-01'; 重名
- 查
ps:
show create table students; # 可以查看創(chuàng)建這個數(shù)據(jù)表的SQL語句
數(shù)據(jù)的增刪改查
- 增:
- insert into 表名 values(....)
- insert into 表名 values(....),(....)
- insert into 表名(字段,字段) values (值1, 值2)
- insert into 表名(字段,字段) values (值1, 值2),(值1,值2)
- ps:
- 改:
- update 表名 set 字段=值 (直接修改全部字段)
- update 表名 set 字段=值 where name=值 (在滿足where后面的條件,一般用主鍵來判斷來指定修改)
- update 表名 set 字段=值,字段2=值 where name=值 (一次修改多個值)
- 查詢
- select 指定字段 from 表名 (*代表所有的字段)
- select 指定字段 as 命名 from 表名 (可以修改字段的名稱顯示出來)
- 刪
- truncate students;(清空表)
- delete from 表名; (刪除表的所有內(nèi)容)
- delete from 表名 where id<6; (指定刪除)
- 不要去刪除數(shù)據(jù),可以添加字段來邏輯刪除
- alter table students add is_delete bit default 0;
- update students set is_delete=1 where id=6;
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。