1. 程式人生 > >數據庫入門學習

數據庫入門學習

des memcach 更換 bsp 條件 create 不用 重啟 查看

一、初識數據庫

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 條件;  #沒有條件就全刪

數據庫入門學習