數據庫入門學習
一、初識數據庫
1.數據庫的由來
怎麽才能把數據永久保存下來,根據我們以前的所學,文件處理就可以將數據永久存儲。
但是文件處理有很大的問題
1.管理不方便
2.文件操作效率問題
3.一個程序不太可能僅運行在同一臺電腦上
那麽為了解決這些問題,采取了提高計算機性能的方式
1.垂直擴展 指的是更換性能更好的硬件
2.水平擴展 指的就是添加更多的計算機 把任務分配給每一臺 (分布式計算)
分布式計算 的好處
1.其中某一臺掛了 不會導致整個系統癱瘓 穩定性高
2.理論上性能可以無限擴展
基於分布式計算,我們可以把數據與應用程序分離:把文件存放於一臺機器,然後將多臺機器通過網絡去訪問這臺機器上的文件(用socket實現),即共享這臺機器上的文件,共享則意味著競爭,會發生數據不安全,需要加鎖處理
根據以上描述,我們就需要編寫一套程序,一個運行在客戶端,一個運行在服務端,於是有人將此類程序寫成一個專門的處理軟件,這就是mysql等數據庫管理軟件的由來
二、什麽是數據庫
1.數據庫
本質上就是一套軟件 由服務器端 和 客戶端組成 C/S B/S
早些年 沒有數據庫的時候 程序員要想實現功能 得自己寫一套socket 並解決上述問題
於是就有了數據庫軟件公司
2.目前常見的數據庫
關系型數據庫:數據與數據之間可以建立關聯關系(用戶數據和購買信息)
SQLServer :僅支持windows
MySQL:免費 開源 性能也不差 mysql 先後被sun 和 oracle收購
Oracle:目前最牛逼的數據庫 收費很高
DB2:IMB 收費的 一般與計算機綁定銷售
非關系型數據庫:運行效率快,通過key value 存取
MongoDB
redis
memcache
3.數據庫相關概念
數據:用於記錄某事物狀態的符號 或 別的形式 數字 音頻
age = 20
記錄:就是一個事物的典型特征的組合 在文件中體現為一行文本
yyh,20,man,180
表:就是一個一個的文件
庫:就是一個文件夾
數據庫管理系統(DBMS):就是一個軟件用來管理庫的 C/S程序
數據庫服務器:運行著DBMS的計算機稱為數據庫服務器
三、mysql
1.安裝
下載
從官網下載mysql,下載的時候根據電腦的版本下載32位或64位的
配置環境變量
變量名:MYSQL_HOME
變量值:C:\Program Files\MySQL\mysql-5.6.41-winx64(你的電腦的MySQL的存放位置)
path裏添加:%MYSQL_HOME%\bin;
以管理員身份運行CMD
mysqld -install
MySQL服務器初始化
mysqld --initialize-insecure
啟動MySQL服務
mysqld
啟動MySQL客戶端並連接MySQL服務
mysql -uroot -p #用mysql自帶的客戶端登錄服務器
(-u 用戶名 -p 密碼 -h 服務器的ip -P端口號 在本機上執行客戶端不需要指的 -h -P)
2.設置密碼
mysqladmin -uroot -p舊密碼 password 新密碼(如果是密碼為空,就不用-p)
3.忘記密碼
三種方法:
1.刪除存儲密碼的文件
2.重裝mysql
3.可以在啟動服務器時 告訴他 讓他不要讀取密碼文件
1.在服務端mysqld -skip-grant-tables
2.無密碼登錄服務器
3.在客戶端就可以跳過密碼的階段直接進入服務器,使用update 來更新你的密碼 在msyql.user表中
在客戶端 update mysql.user set password = password(修改後的密碼) where user = "root" and host="localhost";
4.重啟服務 驗證新密碼
4.基本操作
數據庫服務器中存放的是 庫(文件加) 表(文件) 表裏面是記錄(一行數據)
庫相關
創建
create database 數據庫名 charset 編碼名稱;
修改
alter database 數據庫名 charset gbk; #修改指定庫的編碼
查
show databases; #查看所有數據
show create database 數據庫名; #查看建庫語句
刪除
drop database 數據庫名;
ues 庫名 #進入庫中,可以對該庫中的表進行操作
表相關
創建
create table 表名(字段名 類型,字段名 類型。。。。);#create table t1(id int,name char);
修改
alter table 表名 add | drop | modify | change;
add 字段名 數據類型(長度); #添加新字段名與類型(char默認為1字節,int默認為11)
drop 字段名; #刪除指定字段
modify 字段名 新類型; #修改指定字段的類型
change 舊字段名 新的字段名 新類型; #修改指定字段的字段名與類型
alter table t1 charset gbk; #修改t1表的字符編碼
rename table 舊表名 to 新表名; #修改表名
查
show tables; #顯示該庫中的所有表
show create table 表名; # 查看建表語句
desc 表名; # 查看表結構(字段)
刪除
drop table 表名; #刪除表
truncate table 表名; #重建表(清空數據);
記錄
添加
insert into 表名 values(值1...),(值1....)....; #插入時註意 值得順序 和 類型必須與表結構一致
修改
update 表名 set 字段名=新的值 where 條件; #可以同時修改多行 用逗號來隔開,字段沒有條件就全改
查
select *|字段名 from 表名 where 條件; #根據where的條件,在指定表裏尋找指定字段,並顯示信息(*表示所有字段)
刪除
delete from 表名 where 條件; #沒有條件就全刪
數據庫入門學習