MySQL基礎(六):命令行客戶端MySQL的使用、使用命令行連接數據庫命令、增、刪、改、查的SQL語句、 登錄和登出數據庫、數據庫、表結構、表數據操作的SQL語句

命令行客戶端MySQL的使用

學習目標

  • 能夠知道使用命令行連接數據庫命令
  • 能夠寫出增、刪、改、查的SQL語句

1. 登錄和登出數據庫

登錄數據庫:

輸入下面命令:

mysql -uroot -p

說明:

  • -u 後面是登錄的用戶名
  • -p 後面是登錄密碼, 如果不填寫, 回車之後會提示輸入密碼

登錄數據庫效果圖:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-reeSYHsH-1584018654647)(imgs/mysql%E8%BF%9E%E6%8E%A5%E6%93%8D%E4%BD%9C.png)]

登錄成功後, 輸入如下命令查看效果:

# 顯示當前時間
select now();

登出(退出)數據庫:

quit 或 exit 或 ctrl + d

2. 數據庫操作的SQL語句

  1. 查看所有數據庫

    show databases;
    
  2. 創建數據庫

    create database 數據庫名 charset=utf8;
    例:
    create database python charset=utf8;
    
  3. 使用數據庫

    use 數據庫名;
    
  4. 查看當前使用的數據庫

    select database();
    
  5. 刪除數據庫-慎重

    drop database 數據庫名;
    例:
    drop database python;
    

3. 表結構操作的SQL語句

  1. 查看當前數據庫中所有表

    show tables;
    
    
  2. 創建表

    create table students(
     id int unsigned primary key auto_increment not null,
     name varchar(20) not null,
     age tinyint unsigned default 0,
     height decimal(5,2),
     gender enum('男','女','人妖','保密')
    );
    
    

    說明:

    create table 表名(
    字段名稱 數據類型  可選的約束條件,
    column1 datatype contrai,
    ...
    );
    
    
  3. 修改表-添加字段

    alter table 表名 add 列名 類型 約束;
    例:
    alter table students add birthday datetime;
    
    
  4. 修改表-修改字段類型

    alter table 表名 modify 列名 類型 約束;
    例:
    alter table students modify birthday date not null;
    
    

    說明:

    • modify: 只能修改字段類型或者約束,不能修改字段名
  5. 修改表-修改字段名和字段類型

    alter table 表名 change 原名 新名 類型及約束;
    例:
    alter table students change birthday birth datetime not null;
    
    

    說明:

    • change: 既能對字段重命名又能修改字段類型還能修改約束
  6. 修改表-刪除字段

    alter table 表名 drop 列名;
    例:
    alter table students drop birthday;
    
    
  7. 查看創表SQL語句

    show create table 表名;
    例:
    show create table students;
    
    
  8. 查看創庫SQL語句

    show create database 數據庫名;
    例:
    show create database mytest;
    
    
  9. 刪除表

    drop table 表名;
    例:
    drop table students;
    
    

4. 表數據操作的SQL語句

  1. 查詢數據

    -- 1. 查詢所有列
    select * from 表名;
    例:
    select * from students;
    -- 2. 查詢指定列
    select1,2,... from 表名;
    例:
    select id,name from students;
    
    
  2. 添加數據

    -- 1. 全列插入:值的順序與表結構字段的順序完全一一對應
    insert into 表名 values (...)
    例:
    insert into students values(0, 'xx', default, default, '男');
    -- 2. 部分列插入:值的順序與給出的列順序對應
    insert into 表名 (1,...) values(1,...)
    例:
    insert into students(name, age) values('王二小', 15);
    -- 3. 全列多行插入
    insert into 表名 values(...),(...)...;
    例:
    insert into students values(0, '張飛', 55, 1.75, '男'),(0, '關羽', 58, 1.85, '男');
    -- 4. 部分列多行插入
    insert into 表名(1,...) values(1,...),(1,...)...;
    例:
    insert into students(name, height) values('劉備', 1.75),('曹操', 1.6);
    
    

    說明:

    • 主鍵列是自動增長,但是在全列插入時需要佔位,通常使用空值(0或者null或者default)
    • 在全列插入時,如果字段列有默認值可以使用 default 來佔位,插入後的數據就是之前設置的默認值
  3. 修改數據

    update 表名 set1=1,2=2... where 條件
    例:
    update students set age = 18, gender = '女' where id = 6;
    
    
  4. 刪除數據

    delete from 表名 where 條件
    例:
    delete from students where id=5;
    
    

    問題:

    上面的操作稱之爲物理刪除,一旦刪除就不容易恢復,我們可以使用邏輯刪除的方式來解決這個問題。

    -- 添加刪除表示字段,0表示未刪除 1表示刪除
    alter table students add isdelete bit default 0;
    -- 邏輯刪除數據
    update students set isdelete = 1 where id = 8;
    
    

    說明:

    • 邏輯刪除,本質就是修改操作

5. 小結

  • 登錄數據庫: mysql -uroot -p
  • 退出數據庫: quit 或者 exit 或者 ctr + d
  • 創建數據庫: create database 數據庫名 charset=utf8;
  • 使用數據庫: use 數據庫名;
  • 刪除數據庫: drop database 數據庫名;
  • 創建表: create table 表名(字段名 字段類型 約束, …);
  • 修改表-添加字段: alter table 表名 add 字段名 字段類型 約束
  • 修改表-修改字段類型: alter table 表名 modify 字段名 字段類型 約束
  • 修改表-修改字段名和字段類型: alter table 表名 change 原字段名 新字段名 字段類型 約束
  • 修改表-刪除字段: alter table 表名 drop 字段名;
  • 刪除表: drop table 表名;
  • 查詢數據: select * from 表名; 或者 select 列1,列2,… from 表名;
  • 插入數據: insert into 表名 values (…) 或者 insert into 表名 (列1,…) values(值1,…)
  • 修改數據: update 表名 set 列1=值1,列2=值2… where 條件
  • 刪除數據: delete from 表名 where 條件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章