mysql基础

 

一、基础概念

1.数据库:保存有组织的数据容器

2.表:某种特定类型数据的结构化清单

3.行:表的每一行称为记录(Record),记录是一个逻辑意义上的数据。

4.列:表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。

字段定义了数据类型(整型、浮点型、字符串、日期等),以及是否允许为NULL。注意NULL表示字段数据不存在。一个整型字段如果为NULL不表示它的值为0,同样的,一个字符串型字段为NULL也不表示它的值为空串''

5.主键:表中每一行应该有唯一标识自己的一列,其值能够唯一区分表中的每个行。

5.1 任意两行不应该有相同的主键值

5.2每个行都必须要有一个主键值(不能为null)

6.外键:在A表中,通过xx的字段,可以把数据与另一张表关联起来,这种列称为外键。

7.索引:索引是关系数据库中对某一列或多个列的值进行预排序的数据结构。通过使用索引,可以让数据库系统不必扫描整个表,而是直接定位到符合条件的记录,这样就大大加快了查询速度

7.1索引的效率取决于索引列的值是否散列,即该列的值如果越互不相同,那么索引效率越高。反过来,如果记录的列存在大量相同的值,例如gender列,大约一半的记录值是M,另一半是F,因此,对该列创建索引就没有意义。

7.2可以对一张表创建多个索引。索引的优点是提高了查询效率,缺点是在插入、更新和删除记录时,需要同时修改索引,因此,索引越多,插入、更新和删除记录的速度就越慢。

7.3对于主键,关系数据库会自动对其创建主键索引。使用主键索引的效率是最高的,因为主键会保证绝对唯一。

二、常用查询

1.查全表:select * from xxxxxx

2.条件查询 SELECT * FROM man WHERE money >= 800;

SELECT * FROM man WHERE money >= 80 AND Familyname= 'Zhan';

SELECT * FROM man WHERE (money < 800 OR money > 900) AND Familyname= 'Zhan';

3.投影查询

SELECT id,weight FROM man WHERE money >= 800;

4.查询排序order by

SELECT id, name, FROM man ORDER BY money ;从低到高

SELECT id, name, FROM man ORDER BY money DESC ;从高到低

5.分页查询

SELECT id, name, FROM man ORDER BY money DESC LIMIT 3 OFFSET 0; 分页,每页3条,查第1页

LIMIT设定为 pageSize;

OFFSET计算公式为pageSize * (pageIndex - 1)

6.聚合查询

SELECT COUNT(*) FROM man;统计man;这张表的总行数

SELECT COUNT(*) whiteman FROM man GROUP BY areaid;分组统计每个区域whiteman 的总数

SELECT areaid,COUNT(*) whiteman FROM man GROUP BY areaid;在上的基础上展示区域ID ,显示每个区域ID下的whiteman总数

7.多表查询

SELECT * FROM man, area;

SELECT man.name,man.whiteman,area. areaid, FROM man, area;

8.连接查询

SELECT s.id, s.name, s.class_id,c.name FROM man INNER JOIN area c ON s.man_id = c.id;

三、增(插入数据insert)

INSERT INTO man(id, name, ) VALUES (2, '大刚');

INSERT INTO man(id, name, ) VALUES (2, '大刚'),(3, '大志');

四、改(update)

UPDATE man SET name='大刚', age=23 WHERE id=2;

五、删(delete)

DELETE FROM man WHERE id=1;

posted @ 2025-05-14 14:37  寻虫测试  阅读(9)  评论(0)    收藏  举报