Mysql学习笔记(六)增删改查

PS:数据库最基本的操作就是增删改查了...

学习内容:

数据库的增删改查

1.增...其实就是向数据库中插入数据..

插入语句

insert into table_name values("要插入的数据");

比如说,我们先创建一个宠物表,用来记录宠物的基本信息以及所有者...

create table pet
(
    name varchar(20),
    owner varchar(20),
    species varchar(20),
    sex char(1),
    birth date,
    death date
);

新建了一个空表之后,我们就应该向表中插入数据了..我们可以使用insert语句向表中插入数据...

insert into pet values(Fluffy,Harold,cat,f,1993-02-04,null);//一条数据的插入...

insert into pet values(Claws,Gwen,cat,m,1994-03-17,null),(Buffy,Harold,dog,f,1989-05-13,null),(Fang,Benny,dog,m,1990-08-20,null);//多条数据的插入。。使用逗号隔开..

除了使用insert语句进行插入数据,我们还可以使用读入文件的方式来插入数据...比如说,我们在文件pet.txt文件中放入了我们想要插入的数据值。。每一行有一个记录,我们将每一行的记录使用定位符tab隔开..然后将文件装载到数据库当中就可以将数据插入到数据库了...

windows下的编译器是以\r\n为行结束符...
mysql> LOAD DATA LOCAL INFILE /path/pet.txt INTO TABLE pet
    -> LINES TERMINATED BY \r\n;

Mysql的插入语句与sqlserver的区别..

区别一:

当我们插入的数据有重复值得时候,通常mysql会使用ingore关键字。。。

新建两个表:

CREATE TABLE person (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  NAME CHAR(40) NOT NULL DEFAULT ‘‘,
  age INT NOT NULL DEFAULT 0,
  info CHAR(50) NULL,
  PRIMARY KEY (id)
)


CREATE TABLE person_old (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  NAME CHAR(40) NOT NULL DEFAULT ‘‘,
  age INT NOT NULL DEFAULT 0,
  info CHAR(50) NULL,
  PRIMARY KEY (id)
)

INSERT INTO person_old
VALUES (11,Harry,20,student),(12,Beckham,31,police)

SELECT * FROM person_old
INSERT INTO person(id,NAME,age,info)
SELECT id,NAME,age,info FROM person_old;


SELECT * FROM person 

使用第二个表来更新第一个表中的数据..

TRUNCATE TABLE person

TRUNCATE TABLE persona_old 

INSERT INTO person_old
VALUES (11,Harry,20,student),(12,Beckham,31,police)

##注意下面这条insert语句是没有ignore关键字的
INSERT  INTO person(id,NAME,age,info)
SELECT id,NAME,age,info FROM person_old;

INSERT INTO person_old 
VALUES (13,kay,26,student)

##注意下面这条insert语句是有ignore关键字的
INSERT IGNORE INTO person(id,NAME,age,info)//由于主键为id...如果不使用ignore则会出现重复插入主键引起错误..
SELECT id,NAME,age,info FROM person_old;

区别二:

插入自增列时的区别

SQLSERVER需要使用 SET IDENTITY_INSERT 表名 ON 才能把自增字段的值插入到表中,如果不加 SET IDENTITY_INSERT 表名 ON 则在插入数据到表中时,不能指定自增字段的值,则id字段不能指定值,SQLSERVER会自动帮你自动增加一

INSERTINTO person(NAME,age,info) VALUES (feicy,33,student)

而MYSQL则不需要,而且自由度非常大.....你可以将id字段的值指定为NULL,MYSQL会自动帮你增一...

我们可以指定id值进行插入,也可以不指定id值进行插入..

INSERT IGNORE INTO person(id,NAME,age,info) VALUES (16,tom,88,student)//指定值
INSERT IGNORE INTO person(NAME,age,info) VALUES (amy,12,bb)//不指定值...

删:删除数据库中的数据...
删除相对而言很简单,没用什么过多的东西...

delete from table_name where 删除条件...

delete from pet where name="Fluffy"//删除表中的数据..

delete from pet;//删除整个表中的数据信息..

删除列:

alter table pet drop name//删除pet的name列...

删除整张表

drop table pet;//删除整个pet表格...

删除整个数据库...

drop database samp_db//删除samp_db整个数据库...在使用这条语句的时候我们需要格外的小心,因为我们需要获取数据库的drop权限才能对这个数据库进行操作...

改:修改数据库中的数据...也很简单,涉及的东西也很少...

修改列:

alter table pet name change nname varchar(40) default "";

重命名表:

alter table pet rename ppet;

更新:更新数据...也很简单...没什么可说的...

update pet set owner="HHarold" where name="Fluffy" and sex="f";

查询:查询涉及的东西就比较多了...也是数据库常用的操作...我们以pet表格为例进行介绍...
select * from table_name //查询数据库里的所有数据

select * from pet;

select * from table_name where "执行条件",执行条件可以是一条,也可以是多个条件。。多个条件使用逻辑操作符进行连接...//选择特殊行..

select * from pet where name="Fluffy" and sex="f";
select * from pet where name="Fluffy" or xex="f";

select 属性 from pet。。。选择特殊列...多个属性使用逗号隔开...

select name,birth from pet;//选择pet的name 和 pet列

select 属性值 from table_name order by 属性...

显示动物的生日,按照日期来排序..
select name,birth from pet order by birth;

先简单的介绍这么多..下一章还有补充...希望对自己以后能够有用...

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。