初識mysql關於DDL(每日筆記)

初識mysql(每日筆記)

數據庫的基本概念

  • 數據庫:DataBase 簡稱DB
  • 什麼是數據庫?
    • 用於存儲和管理數據的倉庫.
  • 數據庫的特點:
    • 持久化存儲數據,是將數據存儲在文件中.其實數據庫就是一個文件系統
    • 方便存儲和管理數據
    • 使用了統一的方式來操作數據庫
  • 常見的數據軟件:mysql , oracle , db2 , mongoDB , sql server等

MySQL數據庫軟件

  • 配置mysql數據庫環境

    1. 安裝mysql: www.mysql.com
    2. 配置mysql的環境變量
  • mysql的登陸和退出

    1. 登陸
      1. 輸入指令: mysql -uroot -p密碼 (這樣輸入密碼爲明文顯示)
      2. mysql -uroot -p 回車後再輸入密碼(這樣輸入密碼爲密文顯示)
    2. 退出
      1. quit
      2. exit
      3. \q

如何操作MySQL數據庫

SQL

  • 什麼是SQL?

    • 其實就是一種所有關係型數據庫的規則(必須遵守的規則), 每一種數據庫操作的方式存在細微不一樣的地方,成爲"方言"
  • SQL通用語法

    1. sql語句可以單行或多行書寫,以分號結尾
    2. 使用空格或者縮進來進行程序的可讀性
    3. mysql數據庫的sql語句不區分大小寫,關鍵字建議使用大寫方式
    4. 3中註釋
      • 單行註釋:-- 註釋內容 或者 # 註釋
      • 多行註釋:/* 註釋內容 */
  • SQL的分類:

    名稱 意義 常用命令
    DDL(數據定義語言) 定義和管理數據對象,如數據庫,數據表等 CREATE、DROP、ALTER 等
    DML(數據操作語言) 用於操作數據庫對象中所包含的數據 INSERT、UPDATE、DELETE 等
    DQL(數據查詢語言) 用於查詢數據庫數據 SELECT
    DCL(數據控制語言) 用來管理數據庫的語言,包括管理權限及數據更改 GRANT、COMMIT、ROLLBACK 等

DDL : 操作數據庫 , 表

操作數據庫 : CRUD
  1. C(create):創建

    • 創建數據庫(判斷不存在 , 才創建):

      create database if not exists 數據庫名
      
    • 創建數據庫時指定字符集:

      create database 數據庫名 character set 字符集名稱
      
  2. R(retrieve): 查詢

    • 查詢所有數據庫的名稱:

       show databases
      
    • 查詢某個數據庫的詳細信息 (創建語句):

      show create database 數據庫名
      
  3. U(update):修改

    • 修改數據庫的字符集:

      alter database 數據庫名 character set 字符集名稱
      
  4. D(delete):刪除

    • 刪除數據庫

      drop database if not exists 數據庫名
      
  5. 使用數據庫

    • 查詢當前正在使用的數據庫名稱

      select database()
      
    • 使用數據庫

      use 數據庫名
      
操作表:CRUD
  1. C(create):創建

    • 語法:

      create table 表名稱(
          列名1 數據類型1,
          列名2 數據類型2,
          列名3 數據類型3,
          ...
                      );
      --注意最後一列不需要加逗號
      
    • 常用數據類型

      1. 整數類型 : int
        • int(10) int類型不寫()默認爲11
      2. 小數類型 : double
        • double (5,2)最大爲5位數,保留兩位小數
      3. 日期:
        • date:日期類型
        • datetime:日期加時間
        • timestamp:時間戳類型 如果不賦值,或者爲null,默認使用當前時間
      4. 字符串:varchar
        • varchar(20):指定最大字符長度
      CREATE	TABLE student(
         	stu_id int(10) PRIMARY key comment'學生編號',
         	stu_name varchar(10) not null comment'學生姓名',
         	marjor varchar(50) comment '專業'
        )
      
    • 複製表

      create table 表名稱 like 被複制的表名
      
  2. R(retrieve): 查詢

    • 查詢某個數據庫所有表的名稱:

       show databases
      
    • 查詢表結構

      desc 表名稱
      
  3. U(update):修改

    • 修改表名

      alter table 表名 rename to 新表名
      
    • 添加一列

      alter table 表名 add 列名 數據類型 
      
    • 修改列名 類型

      1. modify:修改屬性:
      alter table 表名 modify 字段名 字段屬性
      
      1. change:既修改屬性又可以修改名稱:
      alter table 表名 modify 列名 新的列名 字段屬性
      
    • 刪除列

      alter table 表名 drop 列名
      
  4. D(delete):刪除

    • 刪除表

      drop database if not exists 表名
      
常用字段
  1. unsigned:無符號的

    create table course(
    	cid int primary key,
        name varchar(20) not null,
        score float(10) unsigned,
        day datetime
    )
    

    此sql中score屬性不能存入小與0的數字

  2. primary key: 設置主鍵

    create table course(
    	cid int primary key,
        name varchar(20) not null,
        score float(10) unsigned,
        day datetime
    )
    
  3. zerofill:0填充的

    create table course(
    	cid int primary key,
        name varchar(20) not null,
        score float(10) unsigned zerofill,
        day datetime
    )
    

    比如向float字段增添數據60,查看顯示爲:000000000060

  4. auto_increment:自增 一般設置到主鍵上

    create table course(
    	cid int primary key auto_increment,
        name varchar(20) not null,
        score float(10) unsigned zerofill,
        day datetime
    )
    
  5. default:默認的

    給定默認值

    create table student(
    	name varchar(10) primary key,
        sex varchar(10) not null default "男"
    )
    

    例如可以設定性別默認值爲男

  6. comment:註釋

    create table student(
    	name varchar(10) primary key comment"學生姓名",
        sex varchar(10) not null default "男"
    )
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章