1. 程式人生 > >MySQL學習筆記:資料庫基礎、MySQL基本操作、表的查詢

MySQL學習筆記:資料庫基礎、MySQL基本操作、表的查詢

#選擇資料庫需要考慮的問題:
    1、是否開源
        開源軟體不一定免費:MySQL,MariaDB(這兩者語法差不多,MySQL可能閉源,但是MariaDB不會)MongoDB
        商業軟體一定收費
    2、是否跨平臺
        不跨平臺:SQL_Server(微軟開發,只在Windows下可用)
        跨平臺:MySQL,MariaDB,MongoDB,Oracle,DB2
    3、公司型別
        商業軟體:政府部門、金融機構(資料庫軟體收費較貴,對安全性要求高)
        開源軟體:民營網站
#MySQL特點
    是關係型資料庫
        1、資料以行和列的形式儲存
        2、一系列行和列稱為表
        3、表中每一行叫一個記錄
        4、表中每一列叫一個欄位
        5、表和表之間的邏輯關聯叫做關係

        非關係型資料庫
        用{"name":"張無忌", "age":13}這樣的形式儲存。
        速度快,但是會產生很多冗餘資料
        只在資訊較少時綜合性能高
    跨平臺
        Unix,Linux,Windows上都可以執行
    支援多種程式語言
        python、java、php......
    
#mysql服務端操作(ubuntu下)
    sudo /etc/init.d/mysql start
    sudo /etc/init.d/mysql stop
    sudo /etc/init.d/mysql restart
    sudo /etc/init.d/mysql status

#mysql客戶端登陸命令
    mysql -h主機地址 -u使用者名稱 -p密碼
    本地連線時-h可以省略

#基本的mysql命令使用規則
    1、每條命令必須以;結尾,否則不執行
    2、SQL命令不區分大小寫
    3、使用\c終止SQL命令的執行

#mysql庫
    在mysql服務之下的一級的單位為庫
    每個庫下儲存了若干張表

#mysql庫的基本操作
    1、檢視已有的庫:show databases
        mysql自帶了四個庫,不要操作,更不要刪除
    2、建立庫:
        create database database_name'
    3、顯示庫的建立過程
        show create database existed_database_name;
        會顯示字符集,預設為latin1
        所以建立時要指定字符集
    4、指定字符集建立庫
        create database database_name default charset=utf8;
    5、檢視當前所在庫
        select database();
    6、切換庫
        use database_name;
    7、檢視庫中有哪些表
        show tables;
    8、刪除庫
        drop database database_name

#庫的命名規則
    1、可以使用數字、字母、_,但是不能使用純數字
    2、庫名區分大小寫
    3、不能重名
    4、不能使用特殊字元和mysql的關鍵字
    
#表的名詞:欄位(列)、欄位名、記錄(行)
    
#表的基本操作:
    1、建立表
        create table table_name(
        欄位名1 資料型別1
        欄位名2 資料型別2
        ... ...        
        )default charset = utf8;
    2、檢視建立表的語句
        show create table table_name;
    3、查看錶結構
        desc table_name;
    4、刪除表
        drop table table_name;
#表的命名規則:同庫
    
#mysql是基於硬碟的資料庫
    其資料庫目錄為/var/lib/mysql

#在表中插入記錄
    insert into 表名 values(值1.1,值2.1 ...),(值1.2,值2.2 ...)

#查詢表記錄
    1、select * from 表 [where 條件]
    示例:
    select * from name_age where name=="Lucy"
        
    2、select 欄位名1,欄位名2,... from 表名 [where 條件]    
    示例:
    select name age from name_age        

#更改庫,表的預設字符集
    更改MySQL配置檔案實現