1. 程式人生 > 其它 >7-93 水仙花數 (20分)

7-93 水仙花數 (20分)

目錄

資料庫是什麼

資料庫:儲存資料的倉庫

為什麼使用資料庫

之前用excel來進行管理資料,有諸多問題:

  • 電子表格只能處理有限的資料列和資料行,對於數百萬玩、數千萬等巨大的資料列很難有效地處理
  • 電子表格無法提供安全、方便地許可權管理和控制手段
  • 電子表格很難實現多個數據之間地關聯
  • 電子表格很難實現併發控制、增量維護等管理方式

這些問題,資料庫都能解決,資料庫是一種有效地管理大量的、安全的、併發的、關聯的、一致的資料管理工具。

資料庫的分類

關係型資料庫

關係資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。

關係模型由關係資料結構、關係操作集合、關係完整性約束三部分組成。

也就是說對於每一列的資料型別會有約束。

典型的關係型資料庫:

  • MySQL、 MariaDB
  • Oracle 甲骨文公司,收費昂貴
  • SQL Server 微軟出品
  • SQLite 小型的檔案資料庫

非關係型資料庫

  • MemCache
  • mongoDB
  • Redis

非關係型資料庫以key-value的形式儲存資料

區別

關係型資料庫,把資料存在硬碟中
非關係型資料庫, 把資料存在記憶體中

mysql的架構

類似於socket的客戶端和服務端

流程:

  1. mysql服務端先啟動,監聽在一個特定的埠,預設是3306
  2. mysql客戶端連線服務端
  3. mysql客戶端就可以發出相關的操作命令,去操作服務端儲存的資料

MySQL的安裝(Windows)

  1. 官網下載之後5.7版本的

  2. 解壓到指定目錄 如C:\mysql-5.7.28-winx64

  3. 新增環境變數 ,在系統環境變數Path新增C:\mysql-5.7.28-winx64\bin

  4. 初始化 mysqld --initialize-insecure # 建立data目錄,用來儲存資料庫

  5. 啟動MySQL服務

    • 可以在cmd(win10需要管理員許可權)中執行mysqld --install
      安裝服務
    • 或者在win10服務中啟動MySQL
  6. 啟動MySQL客戶端並連線MySQL服務

    • mysql -u root -p
  7. 修改mysql密碼

    • mysqladmin -uroot -p '原密碼' password '要修改的密碼'

常用的引數:

-u   user 使用者名稱
-p   password 密碼
-h   host主機名或ip    mysql -h 192.168.1.1 -uroot -p
-P   埠 預設是3306   mysql -h 192.168.1.1 -P 3306 -uroot -p

忘記密碼:

先關閉mysqld服務   net stop mysql
在cmd中執行:  mysqld --skip-grant-tables   
再開一個cmd執行: mysql -uroot -p   此時不需要輸入密碼
執行sql語句: update mysql.user set authentication_string=password('') where user='root';

重啟mysql服務

資料庫伺服器、資料管理系統、資料庫、表、記錄的關係

  • 資料庫伺服器:執行資料庫管理軟體
  • 資料庫管理軟體:管理資料庫,如MySQL
  • 資料庫:用來組織表,相當於win系統中資料夾的概念
  • 表:即檔案,用來存放多條記錄

初始MySQL

操作資料庫

增:

create database 資料庫名稱 charset utf8;  # 字符集預設時latin1

資料庫命名規範:

  • 可以由字母、數字、下劃線、@、#、$
  • 區分大小寫
  • 具有唯一性
  • 不能使用關鍵字如 select create
  • 不能單獨使用數字
  • 最長128位

刪:

drop database 資料庫名稱;

改:

資料庫刪除了再新增

線上環境下,不能直接刪除資料,再刪除之前需要進行備份

查:

show database;   # 檢視資料庫
use 資料庫名稱

操作資料表

建立表:(表是二維的,要有欄位)

mysql> create table setcreed(
    -> id int, 
    -> name varchar(20)
    -> );

查看錶:

mysql> show tables;

刪除表:

mysql> drop table setcreed;

檢視資料表結構:

mysql> desc setcreed;

或者

mysql> show create table setcreed;

資料相關

資料型別

  • 常用資料型別如下:
    • 整數:int, bit
    • 小數:decimal
    • 字串:varchar, char
    • 日期時間:date, time, datetime
    • 列舉型別(enum)
  • 特別說明的型別如下:
    • decimal表示浮點數,如decimal(5, 2)表示共存5位數、小數佔2位
    • char表示固定長度的字串,如char(3),如果填充'ab'時會補一個空格為'ab '
    • varchar表示可變長度的字串,如varchar(3),填充'ab'時就會儲存ab
    • 字串text表示儲存大文字,當字元大於4000時推薦使用
    • 對於圖片、音訊、視訊等檔案,不儲存在資料庫裡,而是上傳到伺服器中,然後在表中儲存這個檔案的url

單表中資料的增、刪、改、查

  • insert 插入資料
mysql> insert into setcreed(id,name) values(2, 'neo'),(3, 'cwz');

insert 另一種方式插入資料:

mysql> insert into setcreed set id=4, name='soso';

  • 查看錶中資料

select 查詢方法:

mysql> select * from setcreed;

# * 表示檢視所有內容

查詢後面可以跟條件:

mysql> select * from setcreed where id<3;

  • update更新資料
mysql> update setcreed set name='qwe' where id=3;

  • delete 刪除資料
mysql> delete from setcreed where id=4;