數據庫(MySQL)練習

數據庫(MySQL)練習

  • 一、練習
    • 1.15練習
    • 練習
  • 二、注意事項
    • 2.1 第四天

一、練習

1.15練習


win11安裝配置MySQL超詳細教程: https://baijiahao.baidu.com/s?id=1786910666566008458&wfr=spider&for=pc

準備工作:

mysql -uroot -p #以管理員身份登錄
mysql> select user(); #查看當前登錄賬戶,登錄方式
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)mysql> show databases; #查看當下賬戶的所有庫
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb1_test         |
| mydb2_stuinfo      |
| mydb3_employee     |
| mydb4_product      |
| mydb5_sales        |
| mydb_temp1         |
| mysql              |
| performance_schema |
| sys                |
| temp1              |
+--------------------+
11 rows in set (0.00 sec)mysql> create database mydb6_product; #創建新庫 mydb6_product
Query OK, 1 row affected (0.02 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb1_test         |
| mydb2_stuinfo      |
| mydb3_employee     |
| mydb4_product      |
| mydb5_sales        |
| mydb6_product      |
| mydb_temp1         |
| mysql              |
| performance_schema |
| sys                |
| temp1              |
+--------------------+
12 rows in set (0.00 sec)
mysql> use mydb6_product; #轉換當前登錄庫
Database changed
mysql> select database(); 
+---------------+
| database()    |
+---------------+
| mydb6_product |
+---------------+
1 row in set (0.00 sec)

employees表:
在這里插入圖片描述
主鍵:primary key
不能為空:not null
設置默認值:default’***'

mysql> create table employees(id int primary key , name varchar(50) not null ,age int ,gender varchar(10) not null default'unknown' ,salary float);
Query OK, 0 rows affected (0.04 sec)mysql> desc employees;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int         | NO   | PRI | NULL    |       |
| name   | varchar(50) | NO   |     | NULL    |       |
| age    | int         | YES  |     | NULL    |       |
| gender | varchar(10) | NO   |     | unknown |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.02 sec)

在這里插入圖片描述

orders表
在這里插入圖片描述

mysql> create table orders(id int primary key , name varchar(100) not null ,price float,
quantity int ,category varchar(50));
Query OK, 0 rows affected (0.03 sec)mysql> desc orders;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | NO   | PRI | NULL    |       |
| name     | varchar(100) | NO   |     | NULL    |       |
| price    | float        | YES  |     | NULL    |       |
| quantity | int          | YES  |     | NULL    |       |
| category | varchar(50)  | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

在這里插入圖片描述
invoices表:
在這里插入圖片描述
主鍵自增長:primary key auto_increment
外鍵關聯到orders表的id列:,foreign key(order_id) references orders(id) 注意用逗號分隔后再開始寫外鍵關聯
日期型:date
要求數據大于0:check(數據>0)

mysql> create table invoices(number int primary key auto_increment, order_id int ,foreign key(order_id) references orders(id) ,in_date date,total_amount float check(total_amount>0));
Query OK, 0 rows affected (0.03 sec)mysql> desc invoices;
+--------------+-------+------+-----+---------+----------------+
| Field        | Type  | Null | Key | Default | Extra          |
+--------------+-------+------+-----+---------+----------------+
| number       | int   | NO   | PRI | NULL    | auto_increment |
| order_id     | int   | YES  | MUL | NULL    |                |
| in_date      | date  | YES  |     | NULL    |                |
| total_amount | float | YES  |     | NULL    |                |
+--------------+-------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

在這里插入圖片描述

3張表如下:

mysql> show tables;
+-------------------------+
| Tables_in_mydb6_product |
+-------------------------+
| employees               |
| invoices                |
| orders                  |
+-------------------------+
3 rows in set (0.01 sec)

在這里插入圖片描述

練習

二、注意事項

2.1 第四天

日期需要以字符串形式添加 eg.‘2000-10-1’

mysql> insert into student2 value(1001 , '李成峰','男','2000-10-1');
Query OK, 1 row affected (0.01 sec)mysql> select * from student2;
+------+--------+------+------------+
| id   | name   | sex  | birthday   |
+------+--------+------+------------+
| 1001 | 李成峰 || 2000-10-01 |
+------+--------+------+------------+
1 row in set (0.00 sec)

delete一定要帶where,

mysql> select * from student2;
+------+--------+------+------------+
| id   | name   | sex  | birthday   |
+------+--------+------+------------+
| 1001 | 李成峰 || 2000-10-01 |
| 1002 | 薛佳尹 || 2012-12-12 |
| 1003 | 孫德勝 || 1998-12-31 |
| 1004 | 鳳飛飛 || 2009-03-15 |
| 1005 | 尹志平 || 1235-09-01 |
+------+--------+------+------------+
5 rows in set (0.00 sec)mysql> delete from student2 where id=1005; #單條刪除
Query OK, 1 row affected (0.02 sec)mysql> select * from student2;
+------+--------+------+------------+
| id   | name   | sex  | birthday   |
+------+--------+------+------------+
| 1001 | 李成峰 || 2000-10-01 |
| 1002 | 薛佳尹 || 2012-12-12 |
| 1003 | 孫德勝 || 1998-12-31 |
| 1004 | 鳳飛飛 || 2009-03-15 |
+------+--------+------+------------+
4 rows in set (0.00 sec)

delete from student2不加where,刪除全表內容,表結構還存在
drop 刪除包括表結構

刪除之前可開啟一個事務,方便回溯

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
開啟一個事務,方便回溯mysql> delete from student2 ;
Query OK, 4 rows affected (0.00 sec)mysql> select * from student2;
Empty set (0.00 sec)mysql> desc student2;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | NO   | PRI | NULL    |       |
| name     | varchar(30) | NO   |     | NULL    |       |
| sex      | char(2)     | YES  |     ||       |
| birthday | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)mysql> rollback;
Query OK, 0 rows affected (0.00 sec)mysql> select * from student2;
+------+--------+------+------------+
| id   | name   | sex  | birthday   |
+------+--------+------+------------+
| 1001 | 李成峰 || 2000-10-01 |
| 1002 | 薛佳尹 || 2012-12-12 |
| 1003 | 孫德勝 || 1998-12-31 |
| 1004 | 鳳飛飛 || 2009-03-15 |
+------+--------+------+------------+
4 rows in set (0.00 sec)

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

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

相關文章

【深度學習地學應用|滑坡制圖、變化檢測、多目標域適應、感知學習、深度學習】跨域大尺度遙感影像滑坡制圖方法:基于原型引導的領域感知漸進表示學習(一)

【深度學習地學應用|滑坡制圖、變化檢測、多目標域適應、感知學習、深度學習】跨域大尺度遙感影像滑坡制圖方法:基于原型引導的領域感知漸進表示學習(一) 【深度學習地學應用|滑坡制圖、變化檢測、多目標域適應、感知學習、深度學習】跨域大…

RPC實現原理,怎么跟調用本地一樣

回答1 要讓?絡通信細節對使?者透明,我們需要對通信細節進?封裝,我們先看下?個 RPC 調?的流程涉及到哪些通 信細節: 1. 服務消費?( client )調?以本地調??式調?服務; 2. client stub 接收到調…

《C++11》并發庫:簡介與應用

在C11之前,C并沒有提供原生的并發支持。開發者通常需要依賴于操作系統的API(如Windows的CreateThread或POSIX的pthread_create)或者第三方庫(如Boost.Thread)來創建和管理線程。這些方式存在以下幾個問題: …

【記錄52】el-table-column 添加fixed屬性 滾動條無法滑動

問題: el-table-column 添加fixed屬性 滾動條無法滑動 使用element UI組件,用到el-table的el-table-column的fixed屬性時,當滾動條長度小于固定列時,滾動條無法通過鼠標去點擊滑動操作 原因 fixed是用來固定列的屬性,其…

rtthread學習筆記系列-- 22 dataqueue

文章目錄 22 dataqueue https://github.com/wdfk-prog/RT-Thread-Study 22 dataqueue 消息隊列:消息隊列能夠接收來自線程或中斷服務例程中不固定長度的消息,并把消息緩存在自己的內存空間中。其他線程也能夠從消息隊列中讀取相應的消息,而當…

了解Node.js

Node.js是一個基于V8引擎的JavaScript運行時環境,它允許JavaScript代碼在服務器端運行,從而實現后端開發。Node.js的出現,使得前端開發人員可以利用他們已經掌握的JavaScript技能,擴展技能樹并成為全棧開發人員。本文將深入淺出地…

微信小程序在使用頁面棧保存頁面信息時,如何避免數據丟失?

微信小程序在使用頁面棧保存頁面信息時避免數據丟失的方法: 一、使用全局變量存儲關鍵數據: 定義一個全局變量,例如在 app.js 中,用于存儲頁面的重要信息。在頁面的 onHide 或 onUnload 生命周期中,將需要保存的數據…

文件上傳 分片上傳

分片上傳則是將一個大文件分割成多個小塊分別上傳,最后再由服務器合并成完整的文件。這種做法的好處是可以并行處理多個小文件,提高上傳效率;同時,如果某一部分上傳失敗,只需要重傳這一部分,不影響其他部分…

js解決 Number失精度問題

const updatePromises adinfo.rows.map(async item > {const cwf await uniCloud.httpclient.request("https://api.oceanengine.com/open_api/v3.0/project/list/", {method: GET,data: {advertiser_id: item.account_id},// 1. 指定text數據格式dataType: tex…

實力認證 | 海云安入選《信創安全產品及服務購買決策參考》

近日,國內知名安全調研機構GoUpSec發布了2024年中國網絡安全行業《信創安全產品及服務購買決策參考》,報告從產品特點、產品優勢、成功案例、安全策略等維度對各廠商信創安全產品及服務進行調研了解。 海云安憑借AI大模型技術在信創安全領域中的創新應用…

Picocli 命令行框架

官方文檔 https://picocli.info/ 官方提供的快速入門教程 https://picocli.info/quick-guide.html 使用 Picocli 創建命令行應用程序 Picocli 是一個用于構建 Java 命令行應用的強大框架,它簡化了參數解析和幫助消息生成的過程。 下面是如何使用 Picocli 構建簡單命…

windows系統“GameInputRedist.dll”文件丟失或錯誤導致游戲運行異常如何解決?windows系統DLL文件修復方法

GameInputRedist.dll是存放在windows系統中的一個重要dll文件,缺少它可能會造成部分游戲不能正常運行。當你的電腦彈出提示“無法找到GameInputRedist.dll”或“計算機缺少GameInputRedist.dll”等錯誤問題,請不用擔心,我們將深入解析DLL文件…

M4Pro安裝homebrew并基于homebrew安裝MySQL踩坑記錄

系統偏好設置允許安裝任何來源應用:sudo spctl --master-disable 清除提示已損壞軟件的安全隔離,重新安裝: xattr -cr 空格+App路徑 安裝homebrew: /opt/homebrew/Cellar 安裝包目錄 /opt/homebrew/etc 默認運行目…

tmux 中鼠標滾動異常:^[[A和^[[B是什么以及如何解決

tmux 中鼠標滾動異常問題及解決方案 在使用 tmux 時,有時我們會遇到一個現象:當嘗試使用鼠標滾輪滾動窗口內容時,終端中會出現一串類似 ^[[A^[[A 的字符。這讓人困惑,不知道鼠標滾動為什么不起作用,也不清楚這些字符究…

【Vue】mouted、created、computed區別

mouted、created、computed區別 前端vue重構 — computed、watch、組件通信等常用知識整理 created和mouted都是vue生命周期中的鉤子函數,通常用來做一些初始化的工作,比如發送http請求、對組件綁定自定義事件 created:實例創建完后立即調用…

前端如何設計一個回溯用戶操作的方案

同一個項目,為什么我本地無法復現,只有客戶的設備才復現? 如何獲取用戶的操作路徑呢? 兩種方案:埋點和rrweb 埋點就很簡單了,將所有可能操作的節點都進行預埋數據;但埋點簡單并不省心&#xff…

概率論考前一天

判斷是不是分布函數:單調不減,右連續,F負無窮為0, F正無窮為1 判斷是不是密度函數:非負性(函數任意地方都大于0),規范:積分為1

2Hive表類型

2Hive表類型 1 Hive 數據類型2 Hive 內部表3 Hive 外部表4 Hive 分區表5 Hive 分桶表6 Hive 視圖 1 Hive 數據類型 Hive的基本數據類型有:TINYINT,SAMLLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE&a…

FPGA工程師成長四階段

朋友,你有入行三年、五年、十年的職業規劃嗎?你知道你所做的崗位未來該如何成長嗎? FPGA行業的發展近幾年是蓬勃發展,有越來越多的人才想要或已經踏進了FPGA行業的大門。很多同學在入行FPGA之前,都會抱著滿腹對職業發…

springCloudGateway+nacos自定義負載均衡-通過IP隔離開發環境

先說一下想法,小公司開發項目,參考若依框架使用的spring-cloud-starter-gateway和spring-cloud-starter-alibaba-nacos, 用到了nacos的配置中心和注冊中心,有多個模塊(每個模塊都是一個服務)。 想本地開發,…