MySQL數據庫學習筆記

MySQL常用語法總結

一.創建Web數據庫

1.登陸到數據庫

mysql -h hostname -u username -p
mysql -h hostname -u username -D dbname -p

2.創建數據庫

CREATE database dbname

3.使用數據庫

USE dbname

4.創建數據庫表

CREATE TABLE tablename (columns)

5.列的數據

create table customers(
customerid int unsigned not null auto_increment primary key,
name char(50) not null,
address char(100) not null,
city char(30) not null    
);
create table orders
( orderid int unsigned not null auto_increment primary key,customerid int unsigned not null,amount float(6,2),date date not null
);

6.使用SHOW和DESCRIBE來查看數據庫

6.1 查看數據庫

show databases;

6.2 查看某個數據庫表

show tables;

6.2 查看某個數據庫表的詳細信息(例如customers表)

describe customers;
desc customers;

7.創建索引

CREATE [UNIQUE|FULLTEXT] INDEX index_name ON table_name (index_column_name [(length)] [ASC|DESC], ...) 

二、使用MySQL數據庫

1.在數據庫中插入數據

INSERT [INTO] table  [(column1, column2, column3, ...)] VALUES (value1, value2, value3, ...);

例如在 customers 表中插入數據:

insert into customers (name, city) values ('lanhaixuan', 'Wuhan');

或者另一種方法:

insert into customers set name = 'wallet', city = 'Wuhan';

再例如在orders表中插入數據:

insert into orders(customerid, amount, date) values(1, 12.00, '2017-11-1');
insert into orders(customerid, amount, date) values(2, 15.00, '2017-11-1');

注意:后面會使用這些數據

2.從數據庫中獲取數據

 SELECT [options] items [INTO file_details] FROM tables [WHERE conditions][GROUP BY group_type][HAVING where_definition][ORDER BY order_type][LIMIT limit_criteria][PROCEDURE proc_name(arguments)][lock_options];
select name, city from customers;
select * from customers;

' * '代表通配符,獲得所有的列

2.1 獲取滿足條件的數據

select * from customers where city = "Wuhan";
運算符名稱例子
=等于customerid=3
>大于amount>60.00
<小于amount<60.00
>=大于或等于amount>=60.00
<=小于或等于amount<=60.00
!=或<>不等于amount!=60.00
IS NOT NULLn/a地址不為空
IS NULLn/a地址不為空
BETWEENn/aamount between 1113 and 1122
INn/acity in ("Wuhan", "Beijing")
NOT INn/acity not in ("Wuhan", "Beijing")
LIKE匹配模式name like ("lan%")
NOT LIKE匹配模式name not like ("walle_")
REGEXP正則表達式name regexp '^lanhaixuan$'

LIKE 使用簡單SQL模式匹配, 模式可以由常規文本加上匹配任意數量的字符“%”,和只匹配一個字符的“_”組成。
REGEXP關鍵字適用于正則表達式匹配。

2.2 從多個表中獲取數據

select orders.orderid, orders.amount, orders.date from customers, orders where customers.name = 'lanhaixuan' and customers.customerid = orders.customerid;

該SQL查詢使用一個左關聯將customers表和orders表關聯起來,輸出結果為:

orderidamountdate

2.2 分組和合計數據

例如,可以如下計算一個訂單總金額的平均值:

select avg(amount) from orders;

輸出結果為:

avg(amount)

類似還有 MIN、MAX、SUN等合計函數

要獲取customer更詳細的信息,可以使用group by子句。例如,按照顧客數分組瀏覽。

select customerid, avg(amount) from orders group by customerid;

2.3 選擇要返回的行

使用LIMIT子句,可以用來返回指定的行。它帶有兩個參數:起始行號與返回行數

select name from customers limit 1, 2;

2.4 使用子查詢

子查詢最常見的用法是用一個查詢的結果作為另一個查詢比較的條件。例如,如果希望找到一個金額最大的訂單,可以使用如下所示的查詢:

select customerid, amount from orders where amount = (select max(amount) from orders);

返回結果:

customeridamount

3. 更新數據庫記錄

通常,除了從數據庫中獲取數據外,我們還希望修改這些數據。可以使用UPDATE語句來完成這個任務
UPDATE語句的常用格式是:

UPDATE [LOW_PRIORITY] [IGNORE] tablename SET column1 = experssion1, column2 = expression2, ... 
[WHERE condition]
[ORDER BY order_criteria]
[LIMIT number]

如果希望修改一行,例如,要更行一個顧客的地址,可以使用以下所示語句:

update customers set address = 'Beijing' where customerid = 2; 

4. 創建后修改表

除了可以更新行,可能還需要改變數據庫中表的結構。要實現這個目的,可以使用ALTER TABLE語句。其基本格式為:

ALTER TABLE [IGNORE] tablename alteration [, alteration, ...]

一個常見的情況,特定的列空間沒有“足夠大”,不能容納它必須容納的數據。例如,在 customers 表中,已經允許名稱可以達到50個字符。在開始接收一些數據后,我們可能發現一些名稱因為太長而被截斷了。我們可以通過改變列的數據類型,使其長度為70個字符:

alter table customers modify name char(70) not null;

另外一個經常出現的問題需要新增一列。例如要添加訂單表中的稅:

alter table orders add tax float(6, 2) after amount;

刪除一列也是經常出現的問題。要刪除一列,只要加上如下語句即可:

alter table orders drop tax;

4. 刪除數據庫中的記錄

從數據庫刪除行的操作很簡單,可以使用DELETE語句完成,DELETE語句常見格式如下所示:

DELETE [LOW_PRIORITY][QUICK][IGNORE] FROM table 
[WHERE condition]
[ORDER BY order_clos]
[LIMIT number]

如果將上述代碼改寫為:

delete from table;

所有表中的行都將被刪除。比如刪除特定的一行:

delete from customers where customerid=1;

LIMIT子句可用于限制實際刪除的最大行數

4.1 表的刪除

DROP TABLE table;

4.2 數據可刪除

DROP DATABASE database;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540354.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540354.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540354.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉載] java實現四種常用排序算法

參考鏈接&#xff1a; 用Java排序 四種常用排序算法 ##注&#xff1a;從小到大排 ##冒泡排序## 特點&#xff1a;效率低&#xff0c;實現簡單 思想&#xff1a;每一趟將待排序序列中最大元素移到最后&#xff0c;剩下的為新的待排序序列&#xff0c;重復上述步驟直到排完所…

[轉載] Java復制對象與集合工具類

參考鏈接&#xff1a; Java中的類和對象 項目中經常需要將某個對象的屬性值復制給另一個對象&#xff0c;或者將一個集合復制到另一個集合。利用spring提供的BeanUtils&#xff0c;自己簡單封裝了一個工具類。 public class CopyUtils { /** * 復制集合 */ public static &l…

.NET深入學習筆記(4):深拷貝與淺拷貝(Deep Copy and Shallow Copy)

今天繼續利用準備WSE安全開發文章的空閑時間&#xff0c;完善《.NET深入學習筆記》系列&#xff08;基本都是.Net重要的知識點&#xff0c;我都做了詳細的總結&#xff0c;是什么、為什么、和怎么實現&#xff09;。想必很多人也接觸過這兩個概念。做過C的人對深淺拷貝的概念一…

VIM一般模式操作

2019獨角獸企業重金招聘Python工程師標準>>> vim介紹 vim和vi幾乎是一樣的&#xff0c;唯一的區別就是當編輯一個文本時&#xff0c;使用vi不會顯示顏色&#xff0c;而使用vim會顯示顏色。 vim有三個模式&#xff1a;一般模式&#xff0c;編輯模式&#xff0c;命令模…

[轉載] 解析Java的JNI編程中的對象引用與內存泄漏問題

參考鏈接&#xff1a; Java對象如何存儲在內存中 JNI&#xff0c;Java Native Interface&#xff0c;是 native code 的編程接口。JNI 使 Java 代碼程序可以與 native code 交互——在 Java 程序中調用 native code&#xff1b;在 native code 中嵌入 Java 虛擬機調用 Java 的…

[轉載] java中創建對象的方式

參考鏈接&#xff1a; 用Java創建對象的不同方法 java中的4種創建對象的方式&#xff1a; 在這片博文中和大家簡單分享一下常見的幾種創建java對象的方式 1.使用 new 的方式&#xff0c;這也是我們最常見的一種方式 我們以 Person 類來舉例說明 例&#xff1a; Person p…

Exchange 2007 SP1 如何定時清理日志???

Exchange 2007 SP1 如何定時清理日志&#xff1f;&#xff1f;&#xff1f; 時間:2011-12-31 11:00Tag標簽&#xff1a;來源:未知 作者:達思科技 點擊: 93次此文章出自&#xff1a; 專業數據恢復 問&#xff1a;Exchange 2007 SP1 如何定時清理日志&#xff1f;&#xff1f;&am…

[轉載] java-繼承和多態

參考鏈接&#xff1a; Java中的繼承 繼承&#xff1a; 繼承就是保持已有類的特性而構造新類的過程。繼承后&#xff0c;子類能夠利用父類中定義的變量和方法&#xff0c;就像它們屬于子類本身一樣。 單繼承&#xff1a;在類層次中&#xff0c;子類只繼承一個父類的數據結構…

走進SQL Server 2005:備份與恢復功能

每當有任何新的軟件發布的時候&#xff0c;你通常都會發現一些你從來不知道或者從來不知道你需要的新的特性。SQL Server 2000中存在的許多的備份和恢復特性都同樣保留在了SQL Server 2005中&#xff0c;但是有一些新的提高同樣值得你的關注。 鏡像備份 SQL Server 2005讓你可以…

[轉載] Java對返回值的封裝

參考鏈接&#xff1a; 用Java封裝 定義自己所需要的返回值類型 public class CodeMsg implements Cloneable { private int retCode; private String message; // 通用異常 public static CodeMsg SUCCESS new CodeMsg(0, "success"); public static CodeMsg EMP…

stateful set 學習筆記

2019獨角獸企業重金招聘Python工程師標準>>> 1、創建pv # cat pv.yaml kind: PersistentVolume apiVersion: v1 metadata:name: task-pv-volumelabels:type: local spec:capacity:storage: 3GiaccessModes:- ReadWriteOncehostPath:path: "/tmp/data" 2、…

[轉載] Java中對象數組的使用

參考鏈接&#xff1a; 如何在Java中交換或交換對象 Java對象數組使用 一、Java數組的使用二、Java的對象數組2.1 問題提出2.2 問題解析2.3 問題拆分2.4 代碼實現 一、Java數組的使用 對象數組其實和Java的數組類似的&#xff0c;所以要很清楚Java的數組是如何使用的&#xf…

Python自動化開發學習13-聯合唯一

聯合唯一 聯合唯一&#xff0c;就是一個表中的多個字段的組合需要唯一。 使用mysql語句創建 比如創建一張hosts表&#xff0c;記錄登錄的ip地址或者hostname&#xff08;表中對應字段host&#xff09;和 端口號&#xff08;表中對應字段port&#xff09;&#xff0c;要求host 和…

[轉載] Java獲取泛型T的類型 T.class

參考鏈接&#xff1a; Java中的抽象 import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Main{ public static void main(String[] args) { Foo<String> foo new Foo<String>(){}; // 在類的外部這樣獲取 Type type ((…

自定義控件---重寫Listbox實現item圖標變換和item點擊事件

博客開通有一陣了&#xff0c;就是沒有時間寫&#xff0c;遺憾啊。&#xff01; 這幾天做了個排序的自定義控件&#xff0c;在listbox item里放是button 并支持圖標的交替變換 效果如下&#xff1a; 把代碼貼上&#xff1a;1using System; 2using System.Collections.…

[轉載] Spring面試題整理

參考鏈接&#xff1a; Java中的動態方法Dispatch和運行時多態 Spring面試題整理 2018年03月07日 21:11:46 hrbeuwhw 閱讀數&#xff1a;49116 Spring 概述 1. 什么是spring? spring 是個Java企業級應用的開源開發框架。Spring主要用來開發Java應用&#xff0c;但是有…

ansible: Linux批量管理神器

我們已經知道&#xff0c;基于集群可實現服務器橫向擴展slace out。可是&#xff0c;當上百臺主機集合成共同為一個站點提供web頁面訪問的形式時&#xff0c;怎么管理整個集群體呢&#xff1f; 一些小伙伴大概聽說過pxe等可實現自動安裝系統。可是&#xff0c;要我們一臺一臺主…

[轉載] Python numpy函數:all()和any()比較矩陣

參考鏈接&#xff1a; Python中的any和all 數組元素的比對&#xff0c;我們可以直接使用“”進行比較&#xff0c;比如&#xff1a; 但是當數組元素較多時&#xff0c;查看輸出結果便變得很麻煩&#xff0c;這時我們可以使用all&#xff08;&#xff09;方法&#xff0c;直接…

MySQL初識-架構-安裝-初始化-連接-管理工具-數據文件

MySQL架構和結構分析 官方架構圖 內部組件結構圖 MySQL安裝方式 MySQL初始化 MySQL工作模式及常用命令 交互式模式&#xff1a;mysql> 1234567891011121314# 交互式模式下的客戶端命令mysql> help # 獲取命令幫助 mysql> \? # 同上 mysql> \c # 取消命令執行 mysq…

[轉載] Java基礎——關聯、聚合、組合

參考鏈接&#xff1a; Java中的關聯 | 組合和聚合 一.引言 其實自己也不知道&#xff0c;在需求設計、架構設計、開發階段是否真正需要弄明白“關聯、聚合、組合”。原本計劃這篇博文寫“繼承“和”多態”&#xff0c;但是一翻閱資料&#xff0c;基本上都會把“繼承”和“組…