MySQL 数据操作

2020-04-15 16:14:37 浏览数 (1)

在企业日常生产环境中,除非有很大的业务数据变动,否则不会轻易地修改或创建新的数据库和数据表,一般都是在原有的表内添加修改操作,以及使用最频繁的查询操作。

插入、修改、查询、删除,是对数据信息的基本操作; 本章讲解基本的增删改查的SQL命令。

老规矩,先连接 MySQL 服务器

代码语言:javascript复制
mysql -uroot -p123456
#创建一个test库,并指定使用它
create database test;
use test;
#在当前数据库中新建一张表
create table tab(
    id tinyint primary key,
    name char(6) not null,
    sex char(2) default '男'
);

1.插入 (INSERT INTO)

a.插入一条数据到表中,字段与值一一对应,且插入的值符合字段的数据类型

代码语言:javascript复制
语法:INSERT INTO 表名(字段名,字段名)  VALUES(值,值);

例如:insert into tab(id,name)  values(1,"张三");

b.字段名可省略,但值必须按字段在表中的顺序插入

代码语言:javascript复制
语法:INSERT INTO 表名  VALUES(值,值);

例如:INSERT INTO tab  VALUES(2,"王二");

c.插入多条纪录

代码语言:javascript复制
INSERT INTO tab VALUES(3,"王三"),(2,"王四"),(2,"王五");

2.修改数据 (updata ... set)

代码语言:javascript复制
语法:UPDATE 表名 SET 字段1=值,字段2=值 WHERE 条件;

#更新id为2的这行数据中的name值
例如:update tab  set name="张三疯" where id=1;

#查看验证
select * from tab;

3.删除数据 (delect ... from)

代码语言:javascript复制
语法:DELETE FROM 表名 WHERE 条件;

#删除name为"王二"的这行数据
例如:delect from tb where name='王二';

select * from tb;

4.查询(SELECT)

代码语言:javascript复制
#查询 Table 中所有数据
语法:SELECT * FROM 表名;

#查看刚插入的所有数据,*表示匹配所有字段
例如:selece * from newstudent;

#查询指定字段(列)的数据
SELECT id FROM tab;
1)条件查询 (where)
代码语言:javascript复制
SELECT * FROM tab WHERE id > 1;

多条件查询 (where ...  and/or ...)
#and,数据必须同时满足两个条件
SELECT * FROM tab WHERE id = 1 and name='张三疯';

#or ,数据满足某个条件便可查询出来
SELECT * FROM tab WHERE id = 2 or name='张三疯';
2)查询分组(GROUP BY)

将查询结果按照1个或多个字段进行分组,字段值相同的为一组;

代码语言:javascript复制
#GROUP BY可以用于单个字段和多个字段
#尝试添加多条性别数据,再分组查询
SELECT * FROM tab GROUP BY sex;
3)限制查询数量(LIMIT)

LIMIT 用于限制SELECT查询语句返回指定的记录数,也叫分页查询。 LIMIT 可以接收一个或两个数字参数,参数必须是一个整数常量。

a. 如果只给定一个参数,则它表示返回最大的记录行数目。
代码语言:javascript复制
#检索前3行记录
SELECT * FROM tab LIMIT 3;
b.如果两个参数,limit a,b ;

下标0开始计数,返回从a开始一共b条数据

代码语言:javascript复制
#从第2条数据开始,检索出5条数据
SELECT * FROM tab LIMIT 2,5;
4)返回唯一值 (distinct)
代码语言:javascript复制
#查询的返回结果中 name 字段下的数据不会重复
select distinct name from tab;

#查询的返回结果中 name和id 的组合字段数据不会完全相同
select distinct score,id from tab;
5)查询结果排序 (ORDER BY)
代码语言:javascript复制
#查询所有数据,以id排序,降序(DESC),[省略不写则默认升序(ASC) ]
SELECT * FROM tab order by id DESC;
#也可以多字段排序,用英文逗号分隔字段名
#order by 只能用在SQL语句 最后。

0 人点赞