MySQL(1):初識SQL

来源:https://www.cnblogs.com/xiaomogula/archive/2018/09/24/9697205.html
-Advertisement-
Play Games

一、前言 MySQL :是用於管理數據的軟體 MySQL是一種關係資料庫管理系統,關係資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。 分為服務端和客戶端(也是基於C/S架構的程式) 服務端: socket服務端 本地文件操作 解析指令(SQL語句) ...


一、前言

MySQL :是用於管理數據的軟體

MySQL是一種關係資料庫管理系統,關係資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

  分為服務端和客戶端(也是基於C/S架構的程式)

服務端:

  • socket服務端
  • 本地文件操作
  • 解析指令(SQL語句)

客戶端:

  • socket客戶端
  • 發送指令
  • 解析指令(SQL語句)

需要掌握

  • 安裝服務端和客戶端     https://www.mysql.com
  • 連接
  • 學習SQL語句規則,指示服務端做相應的操作

其他瞭解

類似軟體

  • 關係型資料庫:SQLLITE,DB2,ORACLE,ACCESS,SQL SERVER,MYSQL
  • 非關係型資料庫:MONGODB,REDIS  等等

二、MySQL安裝

在LINUX上可RPM或者yum install 。。。即可安裝上

在windows上:

1、可執行文件

MySQL Installer   鏈接地址:mysql執行文件

下載完成之後,下一步  下一步即可  具體可訪問此地址查看

 

2、壓縮包(zip)形式

Windows (x86, 64-bit), ZIP Archive  訪問地址:官網地址

 

壓縮包形式好處是可以放置任意目錄

下載完成之後,比如放到windows上的D盤

1、解壓之後 如上圖

2、初始化工作

  以管理的身份運行CMD  DOS視窗

例如  路徑為 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64  

就需要在dos視窗 敲 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld --initialize-insecure   此時即可完成初始化操作

  預設生成一個root用戶 密碼為空

3、啟動服務端

 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld   在dos視窗執行此行  會出現socket (accept,recv)阻塞  或者 while 迴圈 input 的效果

4、客戶端連接

 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysql -u root -p   密碼為空  回車即可進入

  發送  show databases ;  指令

 

3、 環境變數的配置

 打開電腦屬性高級系統設置環境變數系統變數框下的path項點擊編輯,將指針移到開頭加上 ;    ,然後在分號前面輸入mysql的bin目錄路徑即可。

這樣每次在dos視窗就不需要加路徑這麼長的首碼了  只需要輸入   mysql -u root -p  等等  就行了

但是系統一關機再開機之後 mysql這個服務是沒有自啟動的,每次重啟機器後 都需要 在管理員dos視窗運行一次  mysqld

這樣每次都需要手動執行一遍mysqld  太麻煩了  這裡就可以製作成windows服務

4、製作windows服務

 

 

可在圖形中點擊啟動按鍵

也可在dos(管理員)輸入   net start MySQL   啟動

            net stop MySQL   停止

 

三、連接SQL

資料庫的結構大致也分為

  文件夾【資料庫】

    文件【表】

      數據行【行】

這樣的結構

預設的用戶  超級管理員 :  root   

初始狀態下,管理員root,密碼為空,預設只允許從本機登錄localhost
設置密碼
mysqladmin -uroot password "123"        設置初始密碼 由於原密碼為空,因此-p可以不用
mysqladmin -uroot -p"123" password "456"        修改mysql密碼,因為已經有密碼了,所以必須輸入原密碼才能設置新密碼
設置密碼
show databases;
use 資料庫名稱;
    
show tables;
        
select * from 表名;
        
select name,age,id from 表名;
        
mysql資料庫user表
use mysql;
select user,host from user;

用戶管理

創建用戶
    create user '用戶名'@'IP地址' identified by '密碼';
刪除用戶
    drop user '用戶名'@'IP地址';
修改用戶
    rename user '用戶名'@'IP地址'; to '新用戶名'@'IP地址';;
修改密碼
    set password for '用戶名'@'IP地址' = Password('新密碼')
  
PS:用戶許可權相關數據保存在mysql資料庫的user表中,所以也可以直接對其進行操作(不建議)

 

創建用戶和授權

   創建用戶:
              create user '用戶名'@'IP地址' identified by '密碼';
              create user '用戶名'@'192.168.1.%' identified by '密碼';
              create user '用戶名'@'%(代表任意)' identified by '密碼';
show grants for '用戶'@'IP地址'     -- 查看許可權

授權: grant select,insert,update on 庫名.表名 to
'用戶名'@'%'; grant all privileges(代表除授權外的所有許可權) on db.表名 to '用戶名'@'%'; 解除許可權 revoke all privileges on db.表名 from '用戶名'@'%'; 實際情況(DBA: 用戶名密碼 會給對應表 或 庫 的相應許可權用戶)
            all privileges  除grant外的所有許可權
            select          僅查許可權
            select,insert   查和插入許可權
            ...
            usage                   無訪問許可權
            alter                   使用alter table
            alter routine           使用alter procedure和drop procedure
            create                  使用create table
            create routine          使用create procedure
            create temporary tables 使用create temporary tables
            create user             使用create user、drop user、rename user和revoke  all privileges
            create view             使用create view
            delete                  使用delete
            drop                    使用drop table
            execute                 使用call和存儲過程
            file                    使用select into outfile 和 load data infile
            grant option            使用grant 和 revoke
            index                   使用index
            insert                  使用insert
            lock tables             使用lock table
            process                 使用show full processlist
            select                  使用select
            show databases          使用show databases
            show view               使用show view
            update                  使用update
            reload                  使用flush
            shutdown                使用mysqladmin shutdown(關閉MySQL)
            super                   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 背景:VS2015+MySql+EF6(DB First) 採坑順序:按照以前的記憶,操作依次如下: 1,安裝 MySQL Connector/NET(不用想,裝最新的,8.0.12) 2.安裝 MySQL for Visual Studio (最新1.2.8) 3.在VS2015創建WEB項目 4 ...
  • 飛思卡爾Kinetis MCU屬於ARM Cortex-M系列晶元,因此本文主要介紹的Cortex-M系列晶元調試器,目前市面上Cortex-M調試器種類(這裡主要指的是硬體生產商)非常多,主要分為如下兩大陣營(第三方公司,半導體廠商),本文要講的主角OpenSDA屬於陣營里的後者,其一般不單獨存在... ...
  • Linux基礎學習 一、Linux目錄結構 / : 所有目錄都在/boot : boot 配置文件、內核和其它啟動 時所需的文件/etc : 存放系統配置有關的文件/home : 存放普通用戶目錄/mnt : 硬碟上手動 掛載的文件系統/media : 自動掛載(載入)的硬碟分區以及類似CD、數位相 ...
  • 環境為windows 10系統,vmware 12,centos 7.4。centos安裝了gnome桌面,用裡面的終端來安裝,自帶的firefox瀏覽器。 增加用戶 首先要新建一個用戶來管理gooderpgroupadd gooderpuseradd -g gooderp gooderp之後給這個 ...
  • 1 分析思路 1. Thread如何創建? AudioPolicyService是策略的制定者,AudioFlinger是策略的執行者, 所以: AudioPolicyService根據配置文件使喚AudioFlinger來創建Thread 2. Thread對應output, output對應哪些 ...
  • 一. 概述 本篇介紹在linux上見到的各種包管理系統(package management system,PMS)用來進行軟體安裝,管理,刪除的命令行工具。PMS是利用一個資料庫來記錄各種相關內容,包括: linux系統上已安裝了什麼軟體包,每個包安裝了什麼文件,每個已安裝軟體包的版本。 軟體包通 ...
  • 更多目錄知識 http://blog.51cto.com/yangrong/1288072 /etc/fstab 機自動掛載分區/磁碟,規定哪個分區/設備,掛載到哪裡 /etc/resolv.conf DNS臨時配置文件 /etc/hosts 主機名解析文件: hosts文件里存放ip地址與功能變數名稱的對 ...
  • 旭日Follow_24 的CSDN 博客 ,全文地址請點擊: https://blog.csdn.net/xuri24/article/details/81455449 一,前言 本文章是讀了“深入理解java虛擬機”一書的筆記記錄和心得。作為一名Java的開發從業者或愛好者,想要在這條路繼續和深入 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...