MySQL數據庫筆記二:數據類型及數據庫操做

3、MySQL數據庫數據類型

MySQL數據庫中支持多種數據類型:數值型、字符型、日期型


    經常使用的數據類型:
        1.整型
            int:整形,存儲整數
            int(M):M表示預期值。與存儲大小和數值的範圍無關。

            id  int                     10000
            id  int(3)  zerofill        10000

            zerofill 零填充        會在左側補0


        2.浮點型
            float[(M,D)]:浮點型,存儲小數
                salary float(6,2):表示最多6位,小數佔2位,最大存儲數值爲:9999.99

            double:浮點型,小數

        3.字符型
            char(M):固定長度的字符串類型        name char(5)      '1    '
            varchar(M):可變長度的字符串類型(推薦)     name varchar(5)   '1'
            text:大的字符串類型,4G字符串
            blob:字節類型


        4.日期
            date:日期類型,年月日       YYYY-MM-DD 日期格式
            time:時間類型,時分秒       HH:mm:ss    時間格式
            year:年份,年           YYYY格式的年份值
            timestamp:年月日 時分秒  ,時間戳 2037年的某一個時刻  YYYYMMDDhhmmss
            datetime:年月日 時分秒    YY-MM-DD hh:mm:ss



        5:整型

            tinyint         1       -128~127
            smallint        2       32767/65535
            int             4       21億
            bigint          8       兆
            mediumint       3       八百多萬/一千六百多萬



    注意:選擇合適的數據類型,是數據庫優化的一部分。 short it better 原則。

4、MySQL數據庫中的數據的使用

<1>SQL概述
    結構化查詢語言,能夠用於查詢和修改關係數據庫的語言。

    SQL語言,是數據庫的核心語言,被ISO採納爲數據庫語言的國際標準,幾乎全部的數據庫都支持SQL

<2>組成
        數據定義語言(Data Definition Language,DDL):用於管理和必定數據對象,包括數據庫,數據表等。
            create:建立數據庫和表
            drop:刪除表對象
            alter:修改表結果

        數據操做語言(Data Manipulation Language,DML):用於操做數據庫對象中所包含的數據
            insert:添加數據
            delete:刪除數據
            update:修改數據 


        數據查詢語言(Data Query Language,DQL):用於查詢數據庫對象中所包含的數據
            select:查詢數據

        事務控制語言(Transaction Control Language,TCL):包括提交事務、事務回滾
            commit:提交事務
            rollback:事務回滾
            savepoint:事務節點

        數據控制語言(Data Control Language,DCL):用來管理數據庫中,包括管理權限以及數據更改
            grant:受權
            revoke:收回權限

  1.數據定義語言(DDL)

   數據庫的操做

<1>建立數據庫
    語法格式: create database [if not exists] 數據庫名稱 [character set [=] 編碼名稱];

        例如:
             create database tlxy;
             create database if not exists tlxy;//忽視錯誤,顯示警告
             show warnings;//查看警告
             create database db character set gbk;//指定建立的數據庫的字符集


<2>查詢數據庫
        語法格式:show databases;//查看全部的數據庫

                show create database 數據庫名稱;//查詢某一個已經建立的數據庫

<3>修改數據庫
        語法格式:
            alter database [if not exists] 數據庫名稱 [character set 新的編碼名稱]

        例如:
            alter database db character set = utf8;

<4>刪除數據庫
        語法格式:
            drop database 數據庫名稱;

        例如:
            drop database db;//刪除數據庫db

   數據表的操做

<1>建立數據表
    使用一個數據庫:use 數據庫名稱;
    查看當前正在使用的數據庫:select database();


    建立數據表語法:
        create table 表名(
            字段名 字段類型    約束,
            字段名 字段類型    約束,
            ........

        );


    例如: 建立用戶表 

        create table user(
            uid int,
            username varchar(32),
            password varchar(32),
            birthday date,
            sex     enum('男','女')
        );          


<2>查詢數據表
        show tables;顯示當前數據庫中全部的數據表
        show columns from 表名;//查詢某張表表結構
        desc 表名; //查詢某張表表結構


<3>修改數據表
    3.1 修改表名
        方式一:alter table 表名 rename [as|to] 新表名;
            例如:alter table user rename us;
        方式二:rename table 舊錶名 to 新表名 [,舊錶名 to 新表名,..........]
            例如:rename table us to user;

    3.2 添加列
        語法格式:
            alter table 表名 add [column] 列名 列定義 [first|after 列名];
        例如:
             alter table user add sal double after password;//在指定的列後面添加新的列
             alter table user add phone varchar(32); //默認在列的最後添加新的列
             alter table user add hobby varchar(32) first;//在列的最前面添加新的列

    3.3 修改列定義
            語法格式:
                alter table 表名 modify 列名 列定義 [first|after 列名];

            例如:
                 alter table user modify sex varchar(32) first;

    3.4 修改列名
            語法格式:
                alter table 表名 change 列的列名 新的列名  新的列定義   [first|after 列名];
            例如:
                alter table user change hobby address varchar(20) after sal;

    3.5 刪除列
            語法格式:   
                alter table 表名 drop [column] 列名;
            例如:
                alter table user drop phone;

<4>刪除數據表
        語法格式:
            drop table 表名;

        例如:
            drop table user;

  2.數據操做語言(DML):用於操做數據庫對象中所包含的數據

基本查詢數據的語句: select * from 表名;


<1>插入操做
    語法格式:insert [into] 表名 [(列名1,列名2,.....)]    values|value (數值1|表達式,數值2|表達式,....);

    例如:
        insert into teacher (id,note) values ('1','先掙它一個億.');
        insert into teacher value (2,'wangjianlin','xian zheng ta yi ge yi');

<2>刪除操做
    語法格式:
        delete from 表名 where 條件;

    例如:
        delete from teacher where id=1;//指定條件刪除記錄
        delete from teacher;//不帶條件刪除,刪除全部的記錄


    擴充:
        truncate table 表名; ---------- 清空表,會清空表中全部的數據


    面試題:
        delete刪除與truncate 有什麼區別??

            刪除方式:
                delete :一條一條的刪除,不清清空 auto_increment 記錄數
                truncate 直接將表中的數據進行清空,  auto_increment自增將被重置,重新開始


<3>修改操做
        語法格式:
            update 表名 set 列名1=數值,列名2=數值,..... where 條件;


        例如:
            update teacher set name='xiaosan',note='ming nian zai zhao yi ge' where id=1;//帶條件修該,修改指定記錄

            update teacher set name='xiaosi';//不帶條件  修改表中全部數據
相關文章
相關標籤/搜索