MySQL學習(一)——常用SQL語句

一、什麼是MYSQL

MYSQL 屬於數據庫的一種,mysql 目前屬於Oracle甲骨文公司,mysql 稱之爲關係型數據庫、同樣爲關係型數據庫的還有微軟的SQL Server。

MYSQL 數據庫是一種 C/S 模型(客戶端/服務端模型),
客戶端通過賬戶,密碼連接服務器,連接成功後纔可以進行數據庫的操作(CRUD)
mysql服務端採用的IO複用+可伸縮的線程池,實現了網絡高併發的經典模型

二、MYSQL 語言類別劃分

  • DDL(Data Definition Language):數據庫定義語言
    定義了不同的數據庫,數據庫表,列,索引等數據庫對象的定義
    常用的SQL:create(創建),drop(刪除),alter(更新)

  • DML(data Manipulation Language):數據庫操控語言
    用於添加、刪除、變更和查詢數據庫記錄
    常用SQL:insert(添加),delete(刪除),update(更新),select(查找)

  • DCL(data Control Language):數據控制語言
    控制不同數據庫段直接訪問和訪問級別的語句
    常用SQL:grant、remove

三、常用SQL語句

1.連接前服務端必須要啓動
mysql -u xxx -p xxx

  • mysql:代表客戶端命令
  • u 後面跟用戶名
  • p 密碼

2.退出用戶端登錄: exit;
3.庫操作SQL格式:

  • 創建數據庫
    create database database_name;
  • 查看數據庫
    show databases;
  • 使用數據庫
    use database_name;
  • 查看數據庫下存在的表
    show tables;
  • 刪除數據庫
    drop database database_name;

4.表操作SQL格式

  • 創建表
    create table table_name(
         屬性名1 數據類型 [完整性約束],
         屬性名2 數據類型 [完整性約束],
         屬性名3 數據類型 [完整性約束]
    );
    屬性名例如 id,name,sex;
    數據類型例如 int,long,char,vaarchar
    完整性約束例如 主鍵,外鍵,非空等
    完整性約束如下:
完整性約束 說明
primary 表示當前屬性爲該表的關鍵,可以區分不同的行記錄
foreign key 修飾當前屬性爲該表的外鍵,表之間關聯使用外鍵
not null 表示屬性不能爲空
unique 表示屬性的值是唯一的
auto_increatment MySQL特色,表明屬性是自增的,自增類型爲整型
default 給屬性設定默認值

用戶表:
用戶ID、用戶名、年齡
     create table user(
           id int primary key unique,
           name varchar(10) ,
           age int default 18
     );

  • 查找表
    desc table_name;
    show create table table_name;
  • 修改表
    在使用過程中不滿足要求可能要修改表,用的SQL關鍵字是alter

        1.修改表名
        alter table old_name_name rename [to] new_table_name;

        2.修改表的屬性數據類型
        alter table table_name modify 屬性名 屬性類型

        3.修改表的字段(屬性)
        alter table table_name change 舊的屬性名 新屬性名 新屬性類型;

        4.修改表的字段
        alter table table_name add 屬性名 屬性類型 [完整性約束]

           新增一個address(插在第一個)
           alter table table_name add 屬性名 屬性類型[完整性約束] first

        5.增加一個字段在某個屬性後
        alter table table_name add 屬性名 屬性類型[完整性約束] after 列名

        6.刪除字段
        alter table table_name drop 屬性名

        7.修改字段的排列順序
        alter table table_name modify 屬性1 屬性類型 first|after 屬性2

        8.修改存儲引擎
        alter table table_name engine = innoDB|MYSIAM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章