MySQL數據插入INSERT INTO與條件查詢WHERE的基本用法(二)

2021-12-25 數據挖掘與AI算法

上節課給大家介紹了資料庫的基本概念以及如何創建資料庫,具體可回顧MySQL創建資料庫(一)。從本節課開始,我們將對MySQL中的基本知識點進行分別介紹。課先向大家介紹MySQL數據插入insert into與where條件查詢的基本用法。

首先,MySQL的書寫順序執行順序分別如下。

一、導入數據

上節課我們在firstdb資料庫中創建了表titanic,現在我們想往該表中插入數據,有兩種方法:

第一種,通過insert into SQL語句逐行插入。

基本語法:

INSERT INTO table_name ( field1,field2,...fieldN )

VALUES ( value1,value2,...valueN );

語法解析:

insert into 表名 (欄位名1,欄位名2,欄位名3,...欄位名n) 

values (值1,值2,值3,...值n)

注意:欄位名與值是一一對應的關係,順序不可亂。

第二種,批量導入數據。

基本語法:

load data local infile 本地數據文件路徑

into table 表名

fields terminated by ',' 

lines terminated by '\r\n';

語法解析:

fileds terminated by 表示欄位之間的間隔符,lines terminated by 表示換行符,Windows下用'\r\n',注意文件名和路徑最好都是英文的,資料庫的字符集和txt的保存編碼要一致。並且第一次批量導入數據之前需要做個基本設置set global local_infile=1;

假設現在我們通過第二種方法在firstdb資料庫中向titanic表批量導入了鐵達尼號乘客數據集,每一列數據分別對應不同的欄位名,共891行記錄,其中欄位PassengerId是主鍵,如下所示。

註:PassengerId 乘客編號 Survived 是否倖存 Pclass 船票等級 Name 乘客姓名 Sex 乘客性別 Age 乘客年齡 SibSp 兄弟姐妹/配偶數量 Parch 父母/子女數量 Ticket 船票號碼 Fare 船票價格 Cabin 船艙 Embarked 登錄港口

二、條件查詢

1、where 單條件查詢

【任務1】通過mysql條件查詢語句,在titanic表中查找出年齡等於30歲的乘客。可以通過如下查詢語句實現。

SELECT * FROM titanic

WHERE age=30;

最終查得年齡等於30歲的乘客共有25行記錄,圖中只展示了部分。

2、where多條件查詢

【任務2】通過mysql條件查詢語句,在titanic表中查找出年齡等於30歲且性別為男性的所有乘客。可以通過如下查詢語句實現。

SELECT * FROM titanic

WHERE age=30

AND sex="male";

最終查得年齡等於30歲且性別為男性共14行記錄。

【任務3】通過mysql條件查詢語句,在titanic表中查找出年齡等於30歲或性別為男性的所有乘客。可以通過如下查詢語句實現。

SELECT * FROM titanic

WHERE age=30

OR sex="male";

最終查得年齡等於30歲或者性別為男性的乘客共有588行記錄,圖中只展示了部分。

語法分析:

在MySQL資料庫中,通常以select關鍵詞開頭表示查詢,星號"*"通常表示所有列,因此select * 表示查詢所有列,而from 表示從哪裡查找,from 後通常緊跟表名,這裡是從titanic表中進行查找,因此是「select * from titanic」。同時MySQL資料庫是通過where進行條件篩選的,where後緊跟條件,通常與and/or同時使用。

MySQL條件查詢語法結構:

 select * from 表名 where 條件;

注意:

and意為且,表示前後條件需同時滿足;or意為或,表示前後條件滿足其中一個即可;


三、總結

以上就是MySQL數據插入INSERT INTO與條件查詢WHERE的基本用法,下節課我們將介紹GROUP BY與聚合函數的基本使用方法,敬請期待!喜歡我們的內容,記得點讚,在看和轉發,感謝支持!

想學習更多數據分析、數據挖掘乾貨內容,歡迎關注公眾號

相關焦點

  • MySQL 插入數據 | Mysql Insert Data
    查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,並使用WHERE語句來設定查詢條件。你可以使用星號(*)來代替其他欄位,SELECT語句會返回表的所有欄位數據你可以通過OFFSET指定SELECT語句開始查詢的數據偏移量。默認情況下偏移量為0。
  • MySQL資料庫Insert語句7種寫法
    寫法帶select查詢的insert語句,這種寫法,可以很方便的在線備份一張表的記錄mysql> insert into t_test_2 select * from t_test_1;Query OK, 10 rows affected (0.33 sec)Records: 10 Duplicates: 0 Warnings: 0mysql
  • MySQL常用語法小結
    有時我們只需要插入部分數據, 或者不按照列的順序進行插入, 可以使用這樣的形式進行插入:insert into students (name, sex, age) values("孫麗華", "女", 21);查詢數據基本用法
  • MySQL INSERT的4種形態
    ,insert into on duplicate key update,以下詳述這四種插入數據的語句,希望可以幫助到大家。INSERT語句是最常見的SQL語句之一,MySQL中INSERT有其他形態的插入數據方式。下面了解一下MySQL中常用的四種插入數據的語句:INSERT INTO1. insert into表示插入數據,資料庫會檢查主鍵(PrimaryKey),如果出現重複會報錯;除了這個之外還有一些配合的參數。
  • 玩轉Mysql系列 - 第25篇:sql中where條件在資料庫中提取與應用淺析
    本文接下來的內容,安排如下:簡單介紹關係型資料庫中數據的組織形式給定一條SQL,如何提取其中的where條件最後做一個小的總結關係型資料庫中的數據組織 關係型資料庫中,數據組織涉及到兩個最基本的結構索引中存儲的是完整記錄的一個子集,用於加速記錄的查詢速度,索引的組織形式,一般均為B+樹結構。有了這些基本知識之後,接下來讓我們創建一張測試表,為表新增幾個索引,然後插入幾條記錄,最後看看表的完整數據組織、存儲結構是怎麼樣的。
  • MySQL的insert into select 引發鎖表
    在執行語句的時候,MySQL是逐行加鎖的(掃描一個鎖一個),直至鎖住所有符合條件的數據,執行完畢才釋放鎖。 t3(`id`,`a`)  as select `id`,`c` from t;-- 創建一個表結構與t一模一樣的表,複製結構同時也複製數據,但是指定新表的列名;後面兩種格式,如果後面跟上合適的查詢條件,可以只複製符合條件的數據到新的表中。
  • MYSQL速學秘籍,看完後薪水漲1k
    操作MySQL資料庫向表中插入數據insert 語句可以用來將一行或多行數據插到資料庫表中,使用的一般形式如下:insert [into] 表名 [(列名1,列名2,列名3,...)] values (值1,值2,值3,...)
  • MySQL 中的 INSERT 是怎麼加鎖的?
    他的問題是這樣的:加了插入意向鎖後,插入數據之前,此時執行了 select...lock in share mode 語句(沒有取到待插入的值),然後插入了數據,下一次再執行 select...lock in share mode(不會跟插入意向鎖衝突),發現多了一條數據,於是又產生了幻讀。會出現這種情況嗎?
  • MySQL基本操作命令(DDL、DML、DQL、DCL)
    SQL操作管理命令2.1:SQL語言概述是Structured Query Language的縮寫,及結構化查詢語言用於維護管理資料庫,如數據查詢,數據更新,訪問控制,對象管理等功能2.2:DDL操作命令2.2.1:創建資料庫和表2.2.2:DDL語句創建庫、表的命令創建資料庫:create database 資料庫名創建數據表:create table 表名(欄位定義…)
  • mysql結果去重和條件查詢where的使用
    mysql執行結果這樣我們就查詢出了不同的ip出現的結果。mysql結果去重和條件查詢where的使用執行完畢提示有156行受到影響,說明有156條數據,我們也可以用統計函數count進行得出需要的數據
  • MySQL mysqldump 數據導出詳解
    OR     mysqldump [OPTIONS] --all-databases [OPTIONS]插入測試數據CREATE DATABASE db1 DEFAULT CHARSET utf8;USE db1;CREATE TABLE a1(id int);insert into a1() values(1),(
  • mysql資料庫基礎命令(一)
    varchar(10) not null);##通過現有的表創建新表mysql> create table T2 as select * from T1;插入數據mysql> insert into T1 values('zhang
  • python MySQL中 插入數據(insert into)
    (python集成開發環境(IDE) PyCharm的安裝和使用 在 PyCharm 軟體中測試)插入數據
  • MySQL實戰中的Insert語句的使用心得
    沒錯,但在實戰中,根據不同的需求場景,插入操作在語法、執行方式上的用法多種多樣;今天,來給小夥伴們從這兩方面分享一下搬磚心得;地址:https://chensj.blog.csdn.net/article/details/109012572 一、Insert的幾種語法: 1、普通插入語法:
  • MySQL實戰中,Insert語句的使用心得總結
    INTO users_info (id, username, sex, age ,balance, create_time) VALUES (null, 'chenhaha', '男', 26, 0, '2020-06-11 21:00:20');二、大量數據插入2-1、三種處理方式2-1-1、單條循環插入我們取10w條數據進行了一些測試,如果插入方式為程序遍歷循環逐條插入
  • MySQL全面瓦解—子查詢和組合查詢
    from型子查詢:把內層的查詢結果當成臨時表,供外層sql再次查詢,所以支持的是表子查詢。  where或having型子查詢:指把內部查詢的結果作為外層查詢的比較條件,支持標量子查詢(單列單行)、列子查詢(單列多行)、行子查詢(多列多行)。
  • MySQL 從入門到實踐,萬字詳解!
    過濾數據 where在 from 子句後使用 where 關鍵字可以增加篩選條件,過濾數據。# 基本語法select [查詢列表] from [表名] where [篩選條件] order by [排序條件];按條件表達式來篩選 >、=、<、>=、<=、!
  • mysql 矩陣類型專題及常見問題 - CSDN
    TINYTEXT0-255 bytes短文本字符串BLOB0-65 535 bytes二進位形式的長文本數據TEXT0-65 535 bytes長文本數據MEDIUMBLOB0-16 777 215 bytes二進位形式的中等長度文本數據MEDIUMTEXT0-16 777 215 bytes中等長度文本數據LONGBLOB0-4 294 967 295 bytes二進位形式的極大文本數據LONGTEXT0
  • MySQL資料庫的查詢
    分組查詢就是將查詢結果按照指定欄位進行分組,欄位中數據相等的分為一組分組查詢基本的語法格式如下:GROUP BY 列名 [HAVING 條件表達式] [WITH ROLLUP]說明:2、group by的使用group by可用於單個欄位分組,也可用於多個欄位分組select
  • 使用MySQL實現查詢附近的東西(三)
    #使用5.7版本建表語句及插入數據:CREATE TABLE `t_map` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `lng` double(12,6) NOT NULL