資料庫篇-mysql詳解( 一 )之基礎應用

abcjob發表於2021-09-09

一 :  資料庫及mysql簡介

資料庫 : 儲存資料的倉庫,本質是檔案系統,資料庫按照特定的格式將資料儲存起來,使用者可以透過SQL對資料庫中的資料進行增刪改查操作.資料庫中包含多個資料表.

資料庫管理系統 (DataBase Management System,DBMS): 是一種操作和管理資料庫的大型軟體,用於建立,使用和維護資料庫,對資料庫進行統一管理和控制,以保證資料庫的安全性和完整性. 使用者透過資料庫管理系統訪問資料庫中表內的資料,  DBMS扮演者一個代理者,讓使用者優雅的處理資料庫與資料表的各種操作.

常見的資料庫軟體 :

  • mysql :開源免費的資料庫,小型的資料庫,已經被Oracle收購,6.X版本也開始收費.

  • Oracle : 收費的大型資料庫,Oracle公司的產品.Oracle收購SUN公司,收購MYSQL.

  • DB2 : IBM公司的資料庫產品,收費,常應用在銀行系統中.

  • SQLServer : MicroSoft 公司收費的中型的資料庫. C# , .net等語言常使用.

  • SyBase : 已經淡出歷史舞臺,提供了一個非常專業資料建模工具PowerDesigner.

  • SQLite : 嵌入式的小型資料庫,應用在移動端.

二 : mysql 的常用命令

  • 啟動與關閉 : mysql.server start;/mysql.server stop;

  • 登入 : mysql -uroot -pnewpass;

三 : SQL簡介

(Structured Query Language))結構化查詢語言,關聯式資料庫語言的國際標準
資料庫廠商們都會支援ISO的SQL標準,也會在標準的基礎上做自己的擴充套件

SQL分類

資料定義語言 : 簡稱DDL(Data Definition Language),用來定義資料庫物件 : 資料庫,資料表,列(column)等 .對結構的操作
關鍵字 : 建立create, 修改alter, 刪除drop等

資料操作語言 : 簡稱DML(Data Manipulation Language),用來對資料庫中表的記錄進行更新,對資料的操作
關鍵字 : 插入 insert,刪除 delete, 更新 update等

資料查詢語言 : 簡稱DQL(Data Query Language) ,用來查詢資料庫中標的記錄 .關鍵字 : select ,from ,where 等

四 : SQL常見命令

( 一 )資料庫
  • 建立一個庫
create database 庫名
create database 庫名 character set 編碼
  • 刪除一個庫
drop database 庫名
  • 使用某個資料庫
use 庫名
  • 檢視當前正在操作的庫
select database();
  • 插入資料中文亂碼問題解決辦法
set names 編碼

或者去配置檔案裡設定

( 二 )資料表
  • 建立一張表
create table 表名(
欄位名 型別(長度) [約束],
欄位名 型別(長度) [約束],
欄位名 型別(長度) [約束]);
CREATE TABLE TZ_zhangwu (
  zwid INT PRIMARY KEY AUTO_INCREMENT,
  flname VARCHAR(200),
  money DOUBLE,
  zhangHu VARCHAR(100),
  createtime DATE,
  description VARCHAR(1000) );
  • 檢視資料庫表
show tables;
  • 檢視錶的結構
desc 表名
  • 刪除一張表
drop table 表名
  • 修改表

①新增一列

alter table 表名 add 欄位名 型別(長度)[約束]

②修改列的型別

alter table 表名 modify 要修改的欄位名 型別(長度)[約束]

③修改列的列名

alter table 表名 change 舊列名 新列名 型別(長度)[約束]

④刪除表的列

alter table 表名 drop 列名

⑤修改表名

rename table 表名 to 新表名

⑥修改表的字符集

alter table 表名 character set 編碼
( 三 )對資料庫記錄進行操作

①插入記錄

insert into 表名(列名1,列名2,列名3...) values(值1,值2,值3....)
insert into 表名 values(值1,值2,值3...)

②修改表記錄

update 表名 set 欄位名=值,欄位名=值,欄位=值
update 表名 set 欄位名=值,欄位名=值,欄位=值  where 條件

③刪除表記錄

delete from 表名 where條件
//全部刪除了delete from 表名

④查詢操作

( 1 )簡單查詢 :
簡單查詢語法:
select [distinct] *| 列名,列名 from 表名 [where條件]

查詢所有

select * from TZ_zhangwu;

查詢部分列

select flname,money from TZ_zhangwu;

查詢所有資訊使用表別名

select  * from TZ_zhangwu as p;

查詢分類名稱,使用別名

select flname as p from TZ_zhangwu;

去掉重複值(按照價格)

select distinct(money) from TZ_zhangwu;

將所有消費的價格+10 顯示

select flname,money+10 from TZ_zhangwu;
( 2 )條件查詢:

查詢flname 為 '彤德萊'的資訊

select * from TZ_zhangwu where flname = '彤德萊';

查詢 money > 100元 的所有資訊

select * from TZ_zhangwu where money > 100;

查詢flname含有'吃'字的商品資訊

select * from TZ_zhangwu where flname like '%吃%';

查詢zwid 在(3,6,9)範圍內的所有資訊

select * from TZ_zhangwu where zwid in (3,6,9);

查詢flname含有'吃'字並zwid 為6 的資訊

select * from TZ_zhangwu where flname like '%吃%' and zwid = 6;

查詢 zwid 為2 或者 6 的資訊

select * from where zwid = 2 or zwid = 6;
( 3 )排序:

查詢所有資訊,按照money進行排序(升序/降序)

升序
select * from TZ_zhangwu order by money asc;
降序
select * from TZ_zhangwu order by money asc;

查詢flname 有'吃' 的資訊,並且按照money降序排序

select * from TZ_zhangwu where flname like '%吃%' order by money desc;
( 4 )聚合函式:

獲取所有money的總和

select sum(money) from TZ_zhangwu;

獲取所有商品的平均價格

select avg(price) from TZ_zhangwu;

獲得所有賬務的個數

select count(*) from TZ_zhangwu;



作者:TianTianBaby223
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4798/viewspace-2818188/,如需轉載,請註明出處,否則將追究法律責任。

相關文章