MySQL之单表操作
文章目录
- MySQL之单表操作
- 一、单表查询
- 二、单表操作
- 1、复制表结构
- 2、插入数据
- 3、删除数据
- 4、更新数据
- 5、排序
- 6、限量
- 7、分组
- 三、常用函数
一、单表查询
单表查询的语句为SELECT <Field_Name> FROM <Table_Name>
,同时可以在后面加入WHERE属性进行条件限制。这里以查询学号为123456的全部数据为例。
SELECT * FROM student WHERE ID='123456';
除此以外还能对数据进行判断符操作,例如查找ID不为123456的全部数据。
//Case1:使用!=符号进行判断
SELECT * FROM student WHERE ID != '123456';
//Case2:使用<>符号进行判断
SELECT * FROM student WHERE ID <> '123456';
//Case3:使用IS NOT语句进行判断(仅用于判断NULL)
SELECT * FROM student WHERE ID IS NOT NULL;
SELECT语句还能嵌套使用,假设需要筛选出低于平均成绩的Name
SELECT Name FROM student WHERE Score< (SELECT AVG(Score) FROM student);
二、单表操作
1、复制表结构
当需要创建两个一样结构的表,此时可以使用命令
CREATE TABLE <New_Table_Name> LIKE <Old_Table_Name>
需要注意的是,表内的数据并不会跟随复制到新表。
2、插入数据
建立表后,需要向表内使用INSERT INTO命令插入数据
INSERT INTO <Table_Name>([Field_Name],[Field_Name]) VALUES([Data],[Data]);
如果需要一次性插入多条数据,在VALUES后加入新数据即可。
INSERT INTO <Table_Name>([Field_Name],[Field_Name]) VALUES([Data],[Data]),([Data],[data]);
番外:
如果需要将大量的数据导入数据库中,最简单快捷的办法是使用工具软件导入,这里以Navicat做演示。
Step1:使用Navicat打开数据库
Step2:点击导入向导,并选择合适的文件
Step3:加入文件,选择目标数据
Step4:选取字段名称
Step5:选择写入模式
3、删除数据
需要删除数据,使用DELETE
命令即可
删除表内所有数据:
DELETE FROM <Table_Name>;
删除指定数据:
DELETE FROM <Table_Name> WHERE <Condition>;
4、更新数据
更新数据使用命令为UPDATE
UPDATE <Table_Name> SET <Filed_Name>=[Data] WHERE <Condition>;
5、排序
使用排序函数之前,先需要选择一个字段的内容作为排序参考,然后使用命令。
SELECT * FROM <Table_Name> ORDER BY <Field_Name>;
排序函数默认为升序,若需要降序排序,则在最后写入DESC
即可。
提示:ASC
为升序,DESC
为降序,ORDER BY
函数默认为ASC
6、限量
限量的关键词为Limit
,用于SELECT
语句。
语法结构1:LIMIT num
【示例】查询表中5条数据
SELECT * FROM student LIMIT 5;
语法结构2: LIMIT begin_num,sum_data
【示例】查询表中从第5条数据开始,向后10条数据。
SELECT * FROM student LIMIT 4,10;
在数据库中,数据编号是从0开始,因此第五条数据的编号为4.
7、分组
分组的关键词为GROUP BY
,其作用为将同字段里的数据,相同的合并为一个。
【示例】统计班级人数
现在有这样一个表
然后使用
SELECT class FROM class GROUP BY class;
获得class字段里有一班和二班两个属性。
使用统计函数count
统计每个班的数量
SELECT class,COUNT(class) AS '各班人数' FROM class GROUP BY class;
三、常用函数
1.绝对值:ABS()
2.平均值:AVG()
3.最大值:GREATEST()
4.最小值:LEAST()
5.平方根:SQRT()
6.求和:SUM()
7.字符长度:LENGTH()
8.当前日期:CURDATE()
9.当前时间:CURRENT_TIME()
10.当前日期时间:CURRENT_TIMESTAMP()