1. 程式人生 > >Mysql的基本操作(增刪改查)

Mysql的基本操作(增刪改查)

it行業 delet HERE zha 不重復 incr sch table watermark

以下是MySQL最基本的增刪改查語句,創建索引,刪除索引,查看索引。數據庫裏表的關聯。很多IT工作者都必須要會的命令,也是IT行業面試最常考的知識點,由於是入門級基礎命令
  • > create database school;   
    創建數據庫school
    > use school;              
    進入數據庫
    
    > create table class (id int,name char(10),score decimal(5,2));
    創建一個表class(id整數  name字符串10個  成績 數據長度5 小數點後面保留2位)
    
    > insert into class (id,name,score) values (1,‘zhangsan‘,70.5);  
    > insert into class (id,name,score) values (2,‘lisi‘,80.5);
    寫入數據
    
    > alter table class add address varchar(50) default‘地址不詳‘
    增加一個列

技術分享圖片技術分享圖片

?

  • > update class set name=‘wangwu‘ where id=1;  
    zhangsan改成wangwu  修改位置是id=1的列

技術分享圖片

?

  • > show databases;      查看數據庫
    > use school;              進入數據庫
    > show tables;        查看所有表(需要進入數據庫查看)
    > desc class;           查看class表的結構
    > select * from class;  查看class表的所有數據
    
    > select name from class;    查看class表的指定列
    > select distinct * from class;   查看所有數據 (且不重復)
    
    > select * from class where score>85;   條件查看(查看score>85的)
    > select * from class where score>85 and score<90;   (查看大於85 小於90的數據)
    
    > select * from class where exists (select * from class where score<90) and score<80;
    使用exists查詢  先查詢小於90的人  再在小於的90的數據中 查詢 小於80的數據  最終顯示

技術分享圖片

?

  • delete from class where id=2; 刪除id為2的行
    alter table class drop column address ; 刪除address列
    drop table class; 刪除整個表
    drop database school; 刪除數據庫

技術分享圖片技術分享圖片

?
?

索引

  • 創建一個數據庫和表 來演示下索引操作

    > create database school;
    > use school;
    > create table class (id int(4) not null primary key auto_increment,name char(10) not null,score decimal(5,2),address varchar(50) default‘地址不詳‘,hobby int(4))charset=utf8;
    > insert into class (name,score,address,hobby) values (‘zhangsan‘,70.5,‘金川校區‘,2);
    > insert into class (name,score,address,hobby) values (‘lisi‘,80.5,default,2);
  • 普通索引

    create index name_index on class(name); 創建索引
    show index from class; 查看索引
    drop index name_index on class; 刪除索引

  • 唯一索引

    create unique index name_index on class(name); 創建索引
    drop index name_index on class; 刪除索引

技術分享圖片

  • 關聯數據庫

    > create table hob (hid int,hobname char(10) not null);   
    創建表用來關聯
    > select c.id,c.name,c.score,c.address,h.hobname from class c inner join hob h on c.hobby=h.hid;
    查看(class別名c,hob別名h)class表id,name,score,address.。 hob表的hobname  
    將class表的hobby 關聯hob的hid。 (註意:這只是查看)
    
    > create temporary table tempclass (select c.id,c.name,c.score,c.address,h.hobname from class c inner join hob h on c.hobby=h.hid;);      
    (生成臨時表class  註意:臨時表show tables; 查詢不到  去掉參數temporary則會生成永久的表)
    
    > select * from class_hob;    查看class_hob臨時表。

技術分享圖片
技術分享圖片

Mysql的基本操作(增刪改查)