MySQL學習筆記-1

Mysql學習筆記-1

  1. net start/stop [service name] 啓動/中止某種服務mysql

  2. mysql [-h host_name -p port_number] -u user_name -p 回車後輸入密碼sql

  3. 基本相關 :良好的書寫習慣,每條sql命令後添加" ; "做爲標識數據庫

    • 顯示全部數據庫 :show databases;
    • 切換到某一數據庫 :use database_name ;
    • 顯示當前數據庫全部的表 show tables;
    • 在A數據庫下顯示B數據庫中的某個表(當前仍然處於A數據庫) show table_name from A;
    • 查看當前安裝的 mysql 版本號: select version() ;
    • 查看當前所處的數據庫 : select database();
    • 建立表結構:create table table_name (stuid int ,stu_name varchar(20) , gender char , borndate datetime);
    • 查看錶的結構 desc table_name; 或者 select columns from table_name;
    • 查看錶中具體數據內容 select * from table_name; (查看特定的某些字段,各個字段之間應使用逗號隔開,若字段名屬於reserved keywords 則須要 講字段名包含在反冒號 `對內 )
    • 插入具體數據:insert into table_name values
      (1,'張三','男','1993-01-04'),
      (2,'李四','男','1983-03-25'),
      (3,'芙蓉','女','1995-02-20');
    • 更新(修改)表內具體數據值; update table_name set born_date='1983-02-18' where stuid = '李四';
    • 刪除具體的某一條數據: delete from table_name where stu_name='張三';
    • 修改表中某個字段的屬性類型:alter table table_name modify column col_name 數據類型 其餘屬性;
    • 修改表結構(添加某一屬性字段); alter table table_name add column new_col_name 數據類型 其餘屬性;
    • 刪除某一表格總體(結構+內容):drop table table_name ;
    • sql 命令 通常不區分大小寫;
    • 註釋寫法:
      • 單行註釋 #註釋內容 或者 -- 具體註釋內容 (注意中間含有一個空格)
      • 多行註釋: /* 註釋內容
        註釋內容
        註釋內容 */
    • 語句的執行順序:from clause , where clause, select clause , order by clause .(故排序表達式中能夠使用別名,而where語句中不能夠)
  4. SQL語言; DDL , DML , DCL(TCL) , DQLwindows

  5. 一些關鍵字&函數安全

    • as 重命名字段名 select col_1 as rename_col from table_name ; 也能夠使用空格代替函數

    • concat() 用於鏈接兩個字符串 : select concat(字段1, 字段2) from table_name; 若函數中有一個參數爲空,則最終結果顯示爲NULL,爲避免此種狀況出現,在可能爲空的字段外套用:
      isnull(field_name,爲空時的替代值) 函數學習

    • length(str) 提取字符串字節長度,char_length(str) 以字符爲度量單位返回str長度。ui

    • 其他字符串函數如:trim系列函數,left,right函數,lpad,rpad函數,substr函數,space函數,strcmp等字符串相關函數,now,curdate,date_format,get_format等日期函數,if,case等系列字符流控制函數以及其餘函數,須要時可翻閱手冊12章。spa

    • distinct 篩選不重複的數據值 select distinct col_name from table_name;3d

    • where 用於條件查詢.

      • 關係表達式 : > , < , >= . <= , = , <> (不等於,通常不使用 != ) ;

      • 邏輯運算符 : and or not 也可表述爲: && || !

      • [ not ] like,用於模糊查詢。 通配符: % 匹配多個字符; _ 匹配單個字符; 若須要真正的匹配%或者_須要在相應的符號前使用 反斜槓 \ ,或者也能夠使用 escape 語句來指定某個字符做爲轉義字符。詳細參見 Mysql refman-8.0-en.a4.pdf 第12.8節 P1939 。

        mysql> SELECT 'David!' LIKE 'David\_'; -> 0
        mysql> SELECT 'David_' LIKE 'David\_'; ->1
        mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|'; -> 1

  • [ not ] in (字段1,字段2 ...)**
    例如: select * from where stu_id in (1,3,5); 篩選出學號爲 1,3,5的學生的全部數據。

    • [ not ] between A and B 其中 A,B數據類型應該一致&應爲除text、blob 以外的其餘類型。(手冊不會使用,沒有找到詳細闡述) , 能夠使用邏輯運算符來替代。
  • is [not] null 用於限定 字段值是否爲空值NULL
    ( 注: '=' 只能用來判斷普通內容 ; '<=>' 安全等於 :既能夠判斷普通內容也能夠判斷NULL值)。

  • 分組篩選group by 與 分組後條件篩選having

  • 查詢結果排序呈現 **order by exp1 ASC/DESC [,exp2 ASC/DESC...] **

    • ASC 升序排列 ,DESC 降序排列,缺省值爲:ASC
    • 表達式能夠爲多種形式:單個字段,多個字段,表達式,別名,列序號(與使用相應的字段名效果同樣)
    • 詳見手冊Select Statement 部分。
  • 各語句之間的執行順序:
    from clause ——> where clause——>group by ** clause——>having** clause——>select clause
    ——>order by clause

  1. ①. 查看警告信息: show warnings;

    ②. mysql8.0版本以上windows下支持命令清屏:system cls

相關文章
相關標籤/搜索