当前位置: 首页>Python>正文

MySQL學習 DAY1

MySQL學習 DAY1

MYSQL學習? ?DAY 1

?

來自young? ?今天也要認真學習,每天都會記錄今天學習的知識以及碰到的難點!!好好讀書!加油加油!

?

一、數據庫相關概念

1.DB:數據庫,數據存儲的倉庫;保存一系列有組織的數據。

2.DBS:數據庫系統。

3.DBMS:數據庫管理系統。數據庫是通過DBMS創建和操作的容器;常見的數據庫有:mysql、SQL server、Oracle等。

4.DBA:數據庫管理員。

5.SQL:結構化查詢語言,專門用來與數據庫建立聯系。

?

二、數據庫存儲數據的特點

1.將數據放在表中,然后將表存放到數據庫之中。

2.一個數據庫中可以有多個表,每個表都有一個名字,用來標識自己,表名具有唯一性。

3.表具有一些特性,這些特性定義了數據在表中如何存儲,類似于Java中“類”的設計。

4.表由列組成,我們也稱為字段,所有表都是由一個或多個列組成的,每一列類似于Java中的“屬性”。

5.表中的數據是按行存儲的,每一行類似于Java中的“對象”。

?

三、mysql中常見的命令

1.顯示當前數據庫管理系統中存在的數據庫

show databeses;  //這里的 ;按要求來是必須添加的,在命令行中執行必須要這個才可以結束,在軟件中沒有也可以運行

2.使用某個數據庫

use + 你想要使用的數據庫的名字 ;

3.顯示某個庫中的表

show tables;  //此時需要保證你在你要查詢的表的數據庫中

4.顯示某個表中的 全部/某個 數據

select * from + 你的表的名字;   //顯示表中的所有的數據select +(表中某個變量名字) from +表的名字;    //顯示表中的某個變量的全部數據,想要顯示多個可以讓變量使用,相連接

5.在一個數據庫中想要調用另外一個數據庫中的表

//除了上面所提到的可以使用 use+數據庫  --> show tables 的方法之外,還可以使用下面的方法show tables from +數據庫名字;

6.在數據庫中創建表

create table `表名`(
`變量名1` 變量類型1,
`變量名2` 變量類型2,      
...);/*在這里需要注意以下幾個點:
1.注意是create 而不是 creat
2.表名、變量名都需要使用 反引號引起來(在鍵盤的最上面,數字1的左邊)
*/

7.顯示自己創建的表的結構

desc+表名;   //保證數據庫位置正確

8.在表中插入數據

insert into 表名  value(在這里添加相關數據,記住要與表的結構相匹配);  //在這里要是不記得自己的表的結構,可以使用desc+表名進行查詢

9.刪除表中的數據

delete from 表名 where 定位(可以選擇你創建的表的中具有的唯一的標志,比如id=1);

10.修改表中的數據

update  表名 set +你想要修改的數據(name="lisi")  where 定位;

11.查看當前的數據庫的版本

select version();   //在客戶端內查看使用這個語句在非客戶端中查看(在dos命令界面查看) mysql –version(也可以使用簡寫:mysql --V);

12.刪除數據庫

drop databases if exits 數據庫名字;

13.添加別名

select 查詢列表 as 別名 from 表名;

14.創建新的數據庫

create database 庫名;

四、MySQL的語法規范

1.不區分大小寫,建議關鍵字大寫,表名、列名小寫

2每條命令用分號結尾(最好使用)

3.每條命令根據需要進行縮進和換行(建議關鍵字單獨在一行)

4.注釋 ?單行注釋:#注釋文字.

? ? ? ? ? ?單行注釋:-- 注釋文字(中間必須有個空格)

? ? ? ? ? ?多行注釋:/* */

?

五.條件查詢

/* 語法:select 查詢列表? from 表名? where 篩選條件;*/

1.按條件表達式篩選(條件表達式:> < = !=(一般使用<>表示不等于) <=>(安全等于) <=? >=)

#案例、查詢表中工資大于500的信息
select * from 表名 where 篩選條件(salary>500);<=> 安全等于----可讀性較差
#案例:查詢獎金為null的員工信息
select * from employees(表名) where commission_pct<=>null;

2.按邏輯表達式篩選(邏輯表達式:and(&&)、or(||)、not(!))

#案例:查詢工資在10000到20000的員工的信息
select * from employees(表名) where salary>=10000 and salary<=20000;

3.模糊查詢(like、between and、in、is null)

1>.like? 一般和通配符使用? 常見通配符:% 任意多個字符? ?_ 單個字符

#案例1:查詢員工名字中含有字母a的員工信息
select * from employees where last_name like "%a%";#案例2:查詢員工名字中第二個字母是s的員工信息
select * from employees where last_name like "_a%";#案例3:查詢員工名字中含有符號_的員工信息
select * from employees where last_name like "%\_%";  //這里要查詢含有這個字符的就需要添加轉義字符\

2>.between and? (between and之間的數據不可以交換位置;包含臨界值)

#案例:查詢員工工資大于1000小于20000的員工信息
select * from employees(表名) where salary between 1000 and 20000;

3>.in(in列表的值類型必須統一或者兼容)

#案例:查詢工種編號是A B C的員工信息
select * from employees(表名) where job_id in(A,B,C);

4>.is null(=、!=不可以判斷null值;is null、is not null可以用來判斷null值)

#案例:查詢獎金不是null的員工信息
select * from employees where commission_pct is not null;

六、排序查詢

/* 語法:select 查詢列表 from 表名 where 篩選條件 order by 如何排序(asc 升序 / desc 降序)? */

直接上案例:

#案例:查詢工資在1000到5000之間的員工信息,并按員工id進行升序排序
select * from employees(表名) where salary between 1000 and 5000 order by job_id asc;

七、常見函數

1. 字符函數

/*? 格式:select 你要使用的函數名() from 表名;? */

1>.length? ?----? 獲取參數的字節數

#案例
select length("張三豐");   //獲取張三豐所占的字節數//一般來說,一個漢字占三個字節,但是還要與他的字節編碼有關;如果是GBK,那么一個漢字占用兩個字節,如果是utf-8,那么一個漢字占用兩個字節

2>.concat? ---連接字符成為字符串

#案例:連接employees中last_name和first_nameselect concat(last_name,'_',first_name )from employees;

3>.upper 、lower? --- 將字符變為大寫、小寫

#案例:將employees表中的last_name和first_name分別變為大寫和小寫,并連接select concat(upper(last_name),'_',lower(first_name)) from employees;

大家可以回想以下,符號“_"在哪里的時候需要進行轉義之后才可以使用??? 看自己學的牢固不 嘿嘿嘿

4>substr/substring? ?---索引從哪里開始截取字符串

//分為兩種情況,一個是只有一個參數,這里的參數表示的是從哪兒開始截取,一直截取到最后;有兩個參數表示從哪里開始截取嗎,截取多長#案例:
select substr("李莫愁愛上了盧展顏",a);   //表示從位置a開始截取
select substr("李莫愁愛上了盧展顏",a,b);   //表示從位置a開始截取,截取長度為b的字符串
#案例:將員工姓名中的首字符大寫,其他小寫,隨后使用"_" 進行連接
select concat(upper(last_name,1,1),lower(last_name,2),"_",lower(first_name)) from employees;

5>.instr? ---返回你查找的字串第一次在主字符串中出現的位置,找不到就返回0

select instr('吳莫愁真的很吳莫愁','莫愁');
//此時輸出的數據為2

6>.trim? ---去除前后的空額或者其它字符串,去除其它字符串的時候需要在中間加上? ’需要去除的字符串’ from '字符串'

#案例:去除空格
select trim('  張翠山') as out_put;#案例:去除某個字符串
select trim('a' from 'aaaa張翠山aaaa');
//這里需要注意的是,如果在張翠山中間含有字符a是無法去除的,因為trim只去除字符串前后的字符,中間的無法去除

7>.lpad / rpad? 用指定字符實現左 / 右填充指定長度,當字符串長度大于指定長度的手會進行截斷

select lpad('哈哈',10,'_') as out_put;  //這里是使用_進行填充,而且要注意這里漢字所占的字符大小為多少

8>.replace? --替換

select replace('主字符串','被替換的字符串','替換的字符串');

2. 數學函數

1>.round? 四舍五入

sele

#1。
select round(16.55);   //取為整數
#2.
select round(16.202,2); //后面的數字表示小數點后保留兩位小數

2>.ceil? 向上取整,返回大于等于該參數的最小整數

select ceil(1.50);   //結果為2

3>.floor? 向下取整,返回小于等于該參數的最小整數

select floor(1.20);  //結果為1

4>.truncate? 小數點后保留幾位

select truncate(1.20,1);

5>.mod? ---取余(被除數為正余數就是正數,被除數是負數余數就是負數)

select mod(a,b)   相當于進行運算a-a/b*b(取整數)

3. 日期函數

1>.now? ---返回當前系統日期以及時間

select now();

2>.curdate()? ---返回當前系統日期,不包含時間

3>.curttime()? ---返回當前時間不包含日期

?

好了,今天的mysql學習總結就到這里了,其余的總結等后面學習之后在進行更新,還希望大家給小編一個充滿愛的👍!

https://www.nshth.com/python/338784.html
>

相关文章:

  • 國二python難嗎,python字符串(二)
  • 電腦軟件下載app,在電腦上體驗了 16 款手機 App 后,我很失望
  • elasticsearch中文文檔,Elastic安全分析新利器 —— Event Query Language (EQL) 介紹
  • 數據結構與算法python,[FreeCodeCamp筆記] Python 數據結構和算法1 二分搜索 Binary Search
  • 黑蘋果macOS系統鏡像工具,MacOS Monterey 12.2.1 (21D62) OC 0.7.8 / Cl 5144 / PE 三分區原版黑蘋果鏡像
  • 51單片機畢業設計論文,【畢業設計】基于單片機無線充電的4軸飛行器 -物聯網 嵌入式 stm32
  • 數據庫基礎知識整理,數據庫筆記整理
  • python運行不報錯又無任何結果輸出,linux 正確錯誤輸出_報告錯誤的正確方法
  • 計算機組成原理第六版課后答案,杭電計算機組成原理實驗九R-I,杭電計組實驗9-實現R-I型指令的CPU設計實驗.doc
  • python面向對象,Python零基礎速成班-第10講-Python面向對象編程(下),Property屬性、特殊方法、設計模式、鏈表應用
  • 數據庫視圖是什么,【SpringMVC】SpringMVC模型數據+視圖解析器
  • mp3格式轉換器,FFmpeg支持的音頻和視頻編解碼格式
  • 音樂學校招生要求,學校的音樂樓
  • c語言輸入兩個數輸出較大數,C語言求兩個數的較大值
  • 定義一個函數求三個數的最大值,輸入兩個整數,要求輸出其中值較大者。要求用函數求出最大值
  • MySQL學習 DAY1
  • 一個眼神一個微笑就讓人滿足,看得到的微笑
  • centos7安裝MySQL,centos7下載spark連接mysql數據庫提取數據(pyspark,Scala,python獨立執行)
  • node.js開發,從零開始nodejs系列文章-nodejs到底能干什么
  • python控制軟件自動化,Python實現網站自動登錄---傻瓜教程
  • get all of,resent = msg.get_all('Resent-Date') AttributeError: 'str' object h
  • opencv人體動作識別,torchvision使用keypoint rcnn 進行人體關鍵點定位
  • 深度卷積神經網絡原理與實踐,卷積神經網絡resent網絡實踐
  • 服務器,win服務器系統路由器,Windows server 2012 之路由功能
  • 小青蛙走迷宮的問題
  • 漢諾塔-小青蛙
  • 小青蛙oracle跟蹤,在小青蛙TOAD中用oracle語句寫
  • 音頻頻譜分析儀安卓版,[Android]自定義繪制一個簡易的音頻條形圖,附上對MP3音頻波形數據的采集與展現
  • 連乘符號∏的運算法則,∏這個是什么符號?
  • 用例失敗jenkins卻構建成功,jenkins 構建異常_jenkins構建失敗的原因是什么?