1. 程式人生 > >mysql資料庫基礎學習總結1(基礎)

mysql資料庫基礎學習總結1(基礎)

001.資料庫基礎

1.什麼是資料
    對客觀事物的符號表示,也是資訊的載體;

2.資料庫
    用來管理資料的一個軟體;
3.常見的關係型資料庫
    oracle:oracle公司的資料庫;
    mysql:開源
    sqlserver:微軟
    db2:ibm;
4.資料模型的分類
    層次型
    網狀
    關係型
5.mysql的安裝


    1.下載
    2.安裝;    不能有中文,關閉防火牆;設定UTF-8
    3.安裝一個客戶端;
6.mysql的儲存結構
    mysql伺服器中包含多個數據庫(database),每個庫中包含多個表(table),每個表中包括多條記錄(record)
7.mysql基本命令
    mysql;
    mysqladmin
    mysqldump;

002.mysql命令

1.mysql命令
    作用:作為客戶端的工具對服務傳送連線請求;它就是一個基於命令列的客戶端工具;
    mysql [-h ip] -u 帳號  -p密碼
    例如 
            mysql -h 192.168.1.100 -u root -ptiger    
            mysql -u root -ptiger test<d:/create.sql
2.mysql程式的內部命令


    show databases:顯示當前服務中所有資料庫列表;
    use 資料庫名: 進入到某個資料庫   ,例如 use test
    show tables:顯示當前資料中的所有資料表的資訊;
    \c:放棄
    \s:顯示資料庫狀態
    \h:顯示 mysql程式的命令
    \q: 退出    等...
3.mysqladmin命令
    作用:資料庫的管理工作
    mysqladmin -u root -ptiger create db1;
    mysqladmin -u root -ptiger password "123456"
    
4.mysqldump命令
    作用:備份資料庫
    示例: mysqldump -u root -ptiger test>d:/back.sql

003.sql語句之DDl

1.資料庫的基礎知識 
    庫:database
    表:  table
    記錄:recored
2.sql語言
    sql:(structure query language)結構化查詢語言;
    作用:對資料庫中的資料做CURD 的操作(增刪查改)以及其它的管理工作;
    通俗的說,sql 就是開發者與關係型資料進行互動的一種語言;
3.sql語言的分類
    DDL:資料定義語言;
    DML:資料操作語言
    DCL:資料控制語言
    TCL:事務控制語言    
4.DDL; 用來操作資料庫物件的語言(database,table,index)
    create;alter,drop,truncate;
create 語句
    建立表的語法;
        create table table_name(
            列名1 資料型別 [約束],
            列名2 資料型別 [約束],
            。。。
    )
    示例
    create table student(
        stuno int primary key,
        sname varchar(20) not null,
        sex varchar(5),
        birth date
    )
mysql中的資料型別
    數字:int,float,double,decimal
    字元:單引號表示,char,varchar;
                char與varchar的區別?
                char是固定的字元,varchar是可變的字元;
                char(5)         "a     "
                varchar(5);    "a"
    日期:
            date;time,datetime,year,timestamp;
    大物件:
            儲存大量資料時可以使用;
            blob:用來儲存二進位制, 可存圖片,視訊等
            text:用來儲存大文字;大量的文字;

004.char與varchar的區別

char與varchar的區別(5.5)
char 是定長的,而varchar是變長的;
關於char與varchar的最大長度,不同版本之間有區別,5.0 全都 是255,而5.5,varchar的長度變成了65535位元組;
每條記錄的位元組總和不能超過65535,但不包括大物件型別的資料(text,blob)
如果字串以空格結尾,char會自動去除,varchar會保留儲存

005.約束

約束    
    約束指的就是限制;約束的種類有
    primary key :主鍵 ,主鍵字元為必填,同時不能重複;每個表只有一個主鍵(主鍵可以為複合主鍵),主鍵的列通常用來唯一的標識表中的每條記錄;
    not null :非空,不能為空;
    unique: 唯一,可以為空,不能重複;
    check : mysql不支援;oracle支援,自定義規則;
    foregin key:外來鍵,外來鍵的取值必須來源於與之關聯的主鍵值;
    default 預設值 ,什麼都不添的時侯的預設值 ;
    auto_incrment  :自動增長,只能用於整數型別

006.DDL

1.drop 語句
    drop table 表名;
        作用:刪除整個表;
2.truncat 截斷;
    truncate table 表名;
    作用:清空表中的所有記錄,但保留表;
3.alter 語句:修改表結構
    修改表的語法是;
        alter table  表名 action; action之前的部分是固定的,action是變化的;
    示例 ;
        1.增加一個新列
            alter table book add price int not null;
        2.修改列的型別
            alter table book modify name varchar(50);
        3.增加一個主鍵約束 
            alter table book add primary key(isbn);
    4.增加一個外來鍵約束