1. 程式人生 > >Day41 (07/24)mysql

Day41 (07/24)mysql

空格 spa 列名 規範 小寫 index base bit rom

MySQL數據庫

sql語句

sql是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為數據庫而建立的操作命令集,是一種功能齊全的數據庫語言。

在使用它時,只需要發出“做什麽”的命令,“怎麽做”是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了數據庫操作的基礎,並且現在幾乎所有的數據庫均支持sql。

sql規範

<1> 在數據庫系統中,SQL語句不區分大小寫(建議用大寫) 。但字符串常量區分大小寫。建議命令大寫,表名庫名小寫;

<2> SQL語句可單行或多行書寫,以“;”結尾。關鍵詞不能跨多行或簡寫。

<3> 用空格和縮進來提高語句的可讀性。子句通常位於獨立行,便於編輯,提高可讀性。

1 2 SELECT * FROM tb_table WHERE NAME="YUAN";

<4> 註釋:單行註釋:--

多行註釋:/*......*/

<5>sql語句可以折行操作

<6> DDL,DML和DCL

技術分享 View Code

關於數據庫操作的sql語句

技術分享
-- 1.創建數據庫(在磁盤上創建一個對應的文件夾)
    create database [if not exists] db_name [character set xxx] 
    
-- 2.查看數據庫
    show databases;查看所有數據庫
    show create database db_name; 查看數據庫的創建方式

-- 3.修改數據庫
    alter database db_name [character set xxx] 

-- 4.刪除數據庫
    drop database [if exists] db_name;
    
-- 5.使用數據庫
    切換數據庫 use db_name; -- 註意:進入到某個數據庫後沒辦法再退回之前狀態,但可以通過use進行切換
    查看當前使用的數據庫 select database();
技術分享

數據表的增刪改查

創建一張表

技術分享
-- 語法
create table tab_name(
            field1 type[完整性約束條件],
            field2 type,
            ...
            fieldn type
        )[character set xxx];
技術分享

示例:

技術分享
-- 創建一個員工表employee

         create table employee(
            id int primary key auto_increment ,
            name varchar(20),
            gender bit default 1,   -- gender char(1)  default 1   -----    或者 TINYINT(1) 
            birthday date,       
            job varchar(20),
            salary double(4,2) unsigned,
            resume text    -- 註意,這裏作為最後一個字段不加逗號
          );

 /* 約束:
       primary key (非空且唯一)  :能夠唯一區分出當前記錄的字段稱為主鍵!
       unique         
       not null
       auto_increment :用於主鍵字段,主鍵字段必須是數字類型
  */
技術分享

查看表信息

    desc tab_name 查看表結構
    show columns from tab_name  查看表結構
    show tables 查看當前數據庫中的所有的表
    show create table tab_name    查看當前數據庫表建表語句 

修改表結構

技術分享
-- (1)增加列(字段)
      alter table tab_name add [column] 列名 類型[完整性約束條件][first|after 字段名];
      alter table user add addr varchar(20) not null unique first/after username;
      #添加多個字段
      alter table users2 
            add addr varchar(20),
            add age  int first,
            add birth varchar(20) after name;

   -- (2)修改一列類型
      alter table tab_name modify 列名 類型 [完整性約束條件][first|after 字段名];
      alter table users2 modify age tinyint default 20;
      alter table users2 modify age int  after id;
   
   -- (3)修改列名
      alter table tab_name change [column] 列名 新列名 類型 [完整性約束條件][first|after 字段名];
      alter table users2 change age Age int default 28 first;

   -- (4)刪除一列
      alter table tab_name drop [column] 列名;
      -- 思考:刪除多列呢?刪一個填一個呢?
      alter table users2 
            add salary float(6,2) unsigned not null after name,
            drop addr;    

   -- (5)修改表名
      rename table 表名 to 新表名;

   -- (6)修該表所用的字符集    
      alter table student character set utf8;
技術分享

刪除表

drop table tab_name;



http://www.cnblogs.com/yuanchenqi/articles/7148750.html 參考老師博客

Day41 (07/24)mysql