初始SQL語句 簡單使用

来源:https://www.cnblogs.com/guokaifeng/archive/2019/07/06/11144060.html
-Advertisement-
Play Games

初始SQL語句 簡單使用 SQL語言共分為四大類: DQL (Data QueryLanguage )數據查詢語言 DML(Data manipulation language)數據操縱語言 DDL(Data definition language)資料庫定義語言 DCL(Data Control ...


初始SQL語句 簡單使用

  • SQL語言共分為四大類:

    • DQL (Data QueryLanguage )數據查詢語言
    • DML(Data manipulation language)數據操縱語言
    • DDL(Data definition language)資料庫定義語言
    • DCL(Data Control Language)資料庫控制語言
#DDL資料庫定義語言 創建庫、創建表  
#DML資料庫操縱語句存數據,刪除數據,修改數據,查看  
#DCL控制許可權  # grant/revoke  
# 庫
    # create database 資料庫名;  # 創建庫
    # show databases; # 查看當前有多少個資料庫
    # select database();# 查看當前使用的資料庫
    # use 資料庫的名字; # 切換到這個資料庫(文件夾)下
# 表操作
    # 查看當前文件夾中有多少張表
        # show tables;
    # 創建表
        # create table student(id int,name char(4));
    # 刪除表
        # drop table student;
    # 查看表結構
        # desc 表名;
# 操作表中的數據
    # 數據的增加
        # insert into student values (1,'gkf');
        # insert into student values (2,'gandan'); 
        # insert into userinfo values (1,'gkf','gkf318'),(2,'gandan','6666'),(3,'goudan','9999');多行添加
    # 數據的查看
        # select * from student;
    # 修改數據
        # update 表 set 欄位名=值
        # update student set name = 'goudan';
        # update student set name = 'gandan' where id=2;
    # 刪除數據
        # delete from 表名字;
        # delete from student where id=1;
  • 初識sql語句 ; 代表一個語句的結束

#進入mysql客戶端
$mysql
mysql> select user();  #查看當前用戶
mysql> exit (回車)    # 也可以用\q quit退出

# 預設用戶登陸之後並沒有實際操作的許可權
# 需要使用管理員root用戶登陸
$ mysql -uroot -p   # mysql5.6預設是沒有密碼的
#遇到password直接按回車鍵
mysql> set password = password('root'); # 給當前資料庫設置密碼

# 創建賬號
mysql> create user 'gkf'@'192.168.10.%'   IDENTIFIED BY '123';# 指示網段可以連接
mysql> create user 'gkf'@'192.168.10.5'   # 指示某機器可以連接
mysql> create user 'gkf'@'%'                    #指示所有機器都可以連接  
mysql> show grants for 'eva'@'192.168.10.5';查看某個用戶的許可權 
# 遠程登陸
$ mysql -uroot -p123 -h 192.168.10.3

# 給賬號授權
mysql> grant all on *.* to 'gkf'@'%';
mysql> flush privileges;    # 刷新使授權立即生效

# 創建賬號並授權
mysql> grant all on *.* to 'gkf'@'%' identified by '123' 

# 查看表的欄位基礎信息: desc 表名; 或 describe 表名;
# 查看編碼相關: show variables like '%chara%';
# 查看所有表:  show tables;  
# 創建表: create table 表名 (id int,name char(4));
# 查看表結構:  show create table 表名;#(\G可以格式化顯示)
# 查詢當前資料庫支持的存儲引擎: mysql> show engines \G; #(\G格式化的意思) 
# 查看當前的預設存儲引擎:  show variables like '%engine%'; #(%代表其他內容)
# 創建表並且指定引擎: create table t3 (id int,name char(4)) engine=memory; #(engine = "指定引擎")
  • 簡單的增刪改查

1. 操作文件夾(庫)
   增:create database db1 charset utf8;
   查:show databases;
   改:alter database db1 charset latin1;
   刪除: drop database db1;

2. 操作文件(表)
   先切換到文件夾下:use db1
   增:create table t1(id int,name char);
   查:show tables;
   改:alter table t1 modify name char(3);
      alter table t1 change name name1 char(2);
   刪:drop table t1;    

3. 操作文件中的內容(記錄)
   增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
   查:select * from t1;
   改:update t1 set name='sb' where id=2;
   刪:delete from t1 where id=1;

   清空表:
       delete from t1; #如果有自增id,新增的數據,仍然是以刪除前的最後一樣作為起始。
       truncate table t1;數據量大,刪除速度比上一條快,且直接從零開始,

*auto_increment 表示:自增
*primary key 表示:約束(不能重覆且不能為空);加速查找

數據操作 增 刪 改 查

  • 增加 insert

  • insert into 表名 values (數據1...),(數據2...)
    • 所有的在這個表中的欄位都需要按照順序被填寫在這裡
  • insert into 表名(欄位名,欄位名...) values (值1,值2),(值1,值2);
    • 所有在欄位位置填寫了名字的欄位和後面的值必須是一一對應
  • insert into 表名(欄位名,欄位名...) values (值....),(值....),(值....)
    • 所有在欄位位置填寫了名字的欄位和後面的值必須是一一對應
  • value單數與values複數 ,一次性寫入一行數據,一次性寫入多行數據, 一般全用 values
  • 示列
表 id,name,age
insert into t1 value (1,'gkf',23)

insert into t1 values (1,'gkf',23),(2,'gandan',17)

insert into t1(name,age) value ('gkf',23)

insert into t1(name,age) values ('gkf',23),('gandan',17)

#第一個角度
    寫入一行內容還是寫入多行
    insert into 表名 values (值....)
    insert into 表名 values (值....),(值....),(值....)
    
#第二個角度
    是把這一行所有的內容都寫入
    insert into 表名 values (值....)
    指定欄位寫入
    insert into 表名(欄位1,欄位2) values (值1,值2)
  • 刪除 delete

  • delete from 表 where 條件;
  • 更新 update

  • update 表 set 欄位=新的值 where 條件;
  • 查詢 select語句

  • select * from 表
  • select 欄位,欄位.. from 表
  • select distinct 欄位,欄位.. from 表 # 按照查出來的欄位去重
  • select 欄位*5 from 表 # 欄位數字值 四則運算 顯示運算完的結果
  • select 欄位 as 新名字,欄位 as 新名字 from 表 # 給查出欄位取名字
  • select 欄位 新名字 from 表 # 給查出欄位取名字

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

-Advertisement-
Play Games
更多相關文章
  • 繼續Linux命令學習,沒有什麼捷徑,每個命令都去敲幾遍就熟悉了,第二篇學習的是一些比較實用類的命令,主要是從開發的角度進行學習,並不深入,話不多說,開始! 一、系統管理類 1.1 stat --stat 顯示指定文件的相關信息,比ls命令顯示內容更多 1.2 who --顯示線上登錄用戶 1.3 ...
  • 《SQL Server溫故系列》,sql,crud。毋庸置疑,開發者最常用的資料庫技術就是 SQL 了,即便是 ORM 大行其道的今天也常常需要寫 SQL 語句。而 SQL 語句中最常用的就是增刪改查了,本系列就先對增刪改查語句來個系統的回顧吧! ...
  • 《SQL Server溫故系列》,sqlserver教程,tsql教程,sql教程,SQL Server 系列博客導航目錄 ...
  • python用於操作數據的pymysql模塊,及相關的視圖,觸發器,函數,存儲過程,事務,SQL註入等相關拓展。 ...
  • Oracle異常處理在PL/SQL語句書寫時,需要處理的異常-- 不做異常處理時DECLARE v_name emp.ename%TYPE; v_sal emp.sal%TYPE;BEGIN SELECT ename,sal INTO v_name,v_sal FROM emp WHERE empn ...
  • 資料庫之MySQL與Python交互,內容包括 準備數據,SQL演練,資料庫的設計,Python 中操作 MySQL 步驟,pymysql增刪改查,參數化。 ...
  • [TOC] 資料庫的存儲引擎 什麼是存儲引擎? MySQL中的數據用各種不同的技術存儲在文件(或者記憶體)中。這些技術中的每一種技術都使用不同的存儲機制、 索引技巧、鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能, 從而改善你的應用的整體功能。在MySQL ...
  • 資料庫之MySQL查詢,內容包括 查詢,條件查詢,排序,聚合函數,分組,分頁,鏈接查詢,自關聯,子查詢,總結。 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...