mysql数据库的基本操作之----增删改查

使用Navicat客户端,sql语法去创建一个数据库

1.创建表语句

create table student1(
id int primary key,
name  varchar(10),
age  int,
height  float,
hobby  char(10),
address varchar(12)
)default charset=utf8;

  表格如下图:

2. 添加数据

2.1 单条数据添加

  2.1.1  插入一条完整的数据,即每个字段都有值的情况,值不能多也不能少,值的类型必须跟字段信息一致,表名后面无需声明字段信息

insert into student1 values(1,'哈喽',18,181.2,'跑步,瑜伽','上海')

  2.1.2 插入一条非完整的数据,值的个数必须与字段个数和类型一致,插入非完整数据必须声明字段信息,即你要告诉数据库你插入的这几条数据是赋值给哪些字段的

#insert into student1 (字段A,Z字段B,字段C)values(值A,值B,值C)
insert into student1 (id,name,age)values(2,'嗨皮',20)

2.2 添加多条数据

  2.2.1 添加多条完整数据

insert into student1 values(6,'刘五',13,169.1,'singing','北京'),(7,'张科',15,159.1,'阅读','四川'),(8,'马冬梅',16,160.1,'打羽毛球','西安');

  2.2.2 插入多条非完整数据

insert into student1 (id,name,age)values(3,'张三',13),(4,'李四',15),(5,'王麻子',16);

3. 修改数据

3.1 无条件更新指的是更改表格中某些字段的值,而且没有条件限制,最终会更新表格中该字段的所有数据

update student1 set address='上海市浦东新区',hobby='跑步';

3.2 条件修改,update student1 set 字段A=值A,字段B=值B where 条件A and 条件B or 条件C

将id=3 或者name=马冬梅的地址改为陕西省西安市

update student1 set address='陕西省西安市' where id=3 or name='马冬梅';

4.删除表数据

4.1 条件删除,删除掉id=3且地址是陕西省西安市的学生数据

delete from student1 where id=3 and address='陕西省西安市';

 4.2 无条件删除,危险操作,一般不会这么做

删除表里的所有数据:delete from 表名

删除数据库:delete database **

删除表:delete table **

5.查询数据

5.1 单表查询

  5.1.1 查询特定字段

#select 字段A,字段B,字段C from 表名;
select name from student1;

  5.1.2 查询所有字段

select * from student1;

  5.1.3 条件查询

  查出身高高于160且年龄大于16岁的学生信息

#select 字段 from 表名 where 条件A and 条件B;
select * from student1 where height>160 and age>16;

5.2 多表查询

  5.2.1 笛卡尔乘积

  笛卡尔乘积将表A和表B的所有数据进行任意组合得到的数据集,假设A表查到3条,B表查到2条,则select * from A,B得到的是六条数据

  有如下表格:

A:班级信息

B:学生信息

   寻找关联字段,需要用到此字段才能将该表与其他表数据关联起来,此处班级表和学生信息表分来,class表中id是各个班级的id就是学生信息表中的class_id

  实例:查询高二三班的学生信息

#分析过程
#查询涉及的表:class,student_info
#查询字段,没有特别指定就是要用*来表示
#关联条件: class.id=student_info.class_id
#过滤条件:class.name='高二三班'
select * from class,student_info where class.id=student_info.class_id and class.name='高二三班'

   简化sql语句,有时候表名比较长,很繁琐,给表名取个别名,如下:

select * from class t1,student_info t2 where t1.id=t2.class_id and t1.name='高二三班' 

   给结果集排序,asc升序,desc降序,关键字order by,对上述sql语句进行排序

select * from class t1,student_info t2 where t1.id=t2.class_id and t1.name='高二三班' order by t2.id desc; # 按照学生信息表的id降序排序

  以上单表,多表查询可满足日常工作的基本使用,其他高级用法后面会出一篇数据库查询高级用法,自我总结中。

posted @ 2021-07-29 11:03  大头~~  阅读(385)  评论(0编辑  收藏  举报