数据库的增删改查

插入数据

插入一条数据:
1)insert into 表名(字段名1,字段名2,字段名3…) values(值1,值2,值3…);
2)insert into 表名 values(字段1的值,字段2的值,字段3的值…); 【这种形式要求 values 必须有所有字段】

插入多条数据:
insert into 表名(字段1,字段2,字段3…) values(值1,值2,值3…),(值1,值2,值3…),(值1,值2,值3…);

补充:

1、修改创建好的表字段:
    alter table 表名 change 原字段名 新字段名 字段类型 字段属性(约束);
    举例:alter table stu change email email varchar(60) not null;

2、添加新的字段:
    alter table 表名 add 字段名 字段类型 字段属性(约束);
    举例:alter table stu add height float(3,2);
   (after 是加在某个字段之后;)

3、修改表名:
    alter table 旧表名 rename to 新表名;
    举例:alter table stu rename to student;

4、查看创建表字段的代码:
    show create table 表名;

主键相关操作

创建表时添加主键:
create table test( id int primary key auto_increment not null, name varchar(30), );

创建表后修改主键:
alter table 表名 change 原字段名【即要设为主键的字段】 新字段名 int primary key auto_increment not null;

复合主键:
create table test( id int auto_increment not null, name varchar(30), primary key(id,name) );

删除主键:

alter table 表名 drop 主键字段名;

删除及修改数据

删除及修改数据:
delete from 表名 where 【条件】

特别强调:在删除数据时,一定要确认要删除哪些内容。
          delete from 表名,会删除整个表里的数据。

```
MariaDB [employe]> select * from  department;
+----+--------+-----------------+--------+------+------------+--------+--------+
| id | dep    | master          | amount | kpi  | foundation | groups | status |
+----+--------+-----------------+--------+------+------------+--------+--------+
|  1 | 教务   | 张三丰          |      8 | 9.99 | 2019-01-20 | 总部   |      1 |
|  2 | 教务   | 张四丰          |      8 | 9.99 | 2019-02-20 | 总部   |      1 |
|  3 | 教务   | 张五丰          |      8 | 9.99 | 2019-03-20 | 总部   |      1 |
|  6 | 教务   | 张六丰          |      8 | 9.99 | 2019-04-20 | 总部   |      1 |
|  7 | 学生处 | 黄山            |     10 | 8.00 | 2019-04-01 |        |      2 |
|  8 | 学生处 | 黄玉石          |     10 | 8.00 | 2019-04-01 |        |      2 |
|  9 | 学生处 | 黄尼古拉斯*赵四 |     10 | 8.00 | 2019-04-01 |        |      2 |
+----+--------+-----------------+--------+------+------------+--------+--------+
7 rows in set (0.00 sec)

MariaDB [employe]> delete from  department where id=2;
Query OK, 1 row affected (0.01 sec)

MariaDB [employe]> select * from  department;
+----+--------+-----------------+--------+------+------------+--------+--------+
| id | dep    | master          | amount | kpi  | foundation | groups | status |
+----+--------+-----------------+--------+------+------------+--------+--------+
|  1 | 教务   | 张三丰          |      8 | 9.99 | 2019-01-20 | 总部   |      1 |
|  3 | 教务   | 张五丰          |      8 | 9.99 | 2019-03-20 | 总部   |      1 |
|  6 | 教务   | 张六丰          |      8 | 9.99 | 2019-04-20 | 总部   |      1 |
|  7 | 学生处 | 黄山            |     10 | 8.00 | 2019-04-01 |        |      2 |
|  8 | 学生处 | 黄玉石          |     10 | 8.00 | 2019-04-01 |        |      2 |
|  9 | 学生处 | 黄尼古拉斯*赵四 |     10 | 8.00 | 2019-04-01 |        |      2 |
+----+--------+-----------------+--------+------+------------+--------+--------+
6 rows in set (0.00 sec)
```

修改记录:
update 表名 set 字段名1=要修改值1,字段名2=要修改值2 where [条件]

3.4 查询数据
select 字段名/* from 表名;

条件查询

比较运算符查询:< > <= >= != =

逻辑运算符:and or not

范围查询:between … and … 在…之间 【区间】(select * from 表名 where 字段名 between 开始日期(‘2019-04-01’) and 结束日期 ‘2019-05-01’)
in 在…里【点的选择】
not in 不在…里【点的选择】

模糊查询:like % / _

空判断:is null

排序及分页

分页:limit (n-1) * m, m
解释:n 是第几页,m 是每页显示几条数据

举例:
    第三页,每页显示2条数据
    (3-1)*2,2
    4,2
    
    第二页,每页显示5条数据
    (2-1)*5,5
    5, 5
    
    第二页,每页显示4条数据
    (2-1)*4,4
    4,4

排序:
select * from 表名 order by 字段名 asc(升序)|desc(降序);

多字段排序:
select * from 表名 order by 字段名1 desc,字段名2 desc;

注意:多字段排序时,会先按第一字段排序,第一字段相同时,再按第二字段排序。

分组

分组 group by

select 字段名 from 表名 group by 分组字段;

分组 group by + group_concat()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值