MySql基础之增删查改

1 :增加 Create

新建一个新的数据库里面的数据肯定都是空的,因此也没有表;
MySql基础之增删查改_第1张图片

1、创建表

使用以下语法进行表的创建:

create table tablename
(
属性 1 类型 1 comment '备注',
属性 2 类型 2 comment '备注',
属性 3 类型 3 comment '备注'
);
-- 注意 这里的comment 是用于添加注释为了方便数据的理解 最后一行不需要以 “ , ” 结尾 其余均需要 逗号结尾 最后的括号后要有 “ ; ” 作为结尾。

例如:
MySql基础之增删查改_第2张图片
这时候我们再来查一下数据库中的表:
MySql基础之增删查改_第3张图片

2、插入数据

表创建好了接下来就是插入数据了,使用以下的基本语法:

(1)单行数据插入
insert into  tablename values(value1,value2,valueN);

例如:
在这里插入图片描述
然后我们在查询一下表里的数据:
MySql基础之增删查改_第4张图片

(2)多行数据指定列插入

语法:

insert into tablename (属性1, 属性2, 属性n) values     
(value1, value2, valueN), 
------------------------   
(value2, value2, valueN);

例如:MySql基础之增删查改_第5张图片
再来查看一下表里的数据:
MySql基础之增删查改_第6张图片
可以看到这种多行数据插入也是可以插入的

注意: 再插入的时候数据应该按照表中的属性的顺序进行插入,当然也可以指定的插入如
MySql基础之增删查改_第7张图片
否则就会
在这里插入图片描述

2 :查询 Retrieve

查询的基本语法就是

select 属性1|属性 2 from tablename 条件或特定情况
(1) 查询全部数据
select* from tablename;

MySql基础之增删查改_第8张图片

(2)指定列查询
select1(属性1,2(属性2from tablename

例如:
MySql基础之增删查改_第9张图片
MySql基础之增删查改_第10张图片

(3)查询字段为表达

例如:查询所有同学的总分

select 表达式 from tablename;

MySql基础之增删查改_第11张图片

(4)别名

上述讲了查询表达式的方法,之所以是表达式是因为,表里的单一的属性不能够满足需求,因此有了表达式,当然我们也可以给这些表达式加上别名就行备注一样更加的清晰易懂。
语法:

select 表达式 备注(别名) from tablename;

例如:查询各个学生的总分
MySql基础之增删查改_第12张图片

(5)去重 DISTINCT

当想要对某一列的数据进行去重查询时可以使用 distinct
语法:

select 属性() distinct from table;

例如:
MySql基础之增删查改_第13张图片

(6)排序 ORDER BY

当想要对表中的某一列数据进行排序查询时使用 order by
语法:

select 属性1,属性2 from where order by column;

例如:
MySql基础之增删查改_第14张图片
可以看到 语文成绩是有序的 默认升序,当需要降序时 使用 语法:

select 属性 1,属性 2 from tablename order by column desc;

例如:
MySql基础之增删查改_第15张图片
当然也可以使用上面学习的表达式和别名进行排序,例如:

select id,name,Chinese+Math+PE total from grade order by total [desc];

MySql基础之增删查改_第16张图片

(7)条件查询:WHERE

其实我们在上面已经使用了 where 进行一些特定的查询 这是因为 其实 select * from table 一次查询所有的数据是非常的缓慢的当数据非常大的时候,且数据又不是我们所需的时候就会比较的耗时还费力,比如我们想要查询某一个人的信息时 只需要查询该学生的学号就可以了 例如:

select id,name,Chinese,Math,PE from grade where id=10002;

注意 这里 where 可以使用表达式 但是不能使用别名

MySql基础之增删查改_第17张图片

这里就涉及到了很多的运算符总结为下:
比较运算符

运算符 说明
>, >=, <, <= 大于,大于等于,小于,小于等于
= 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <> 不等于
BETWEEN a0 AND a1 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, …) 如果是 option 中的任意一个,返回 TRUE(1)
IS NULL 是 NULL
IS NOT NULL 不是 NULL
LIKE 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

例如:
MySql基础之增删查改_第18张图片
MySql基础之增删查改_第19张图片
逻辑运算符

运算符 说明
AND 多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR 任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT 条件为 TRUE(1),结果为 FALSE(0)

例如:
MySql基础之增删查改_第20张图片

(8)分页查询:LIMIT

语法:

-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n; -- 从 s 开始,筛选 n 条结果 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n; 
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s

例如:
MySql基础之增删查改_第21张图片
MySql基础之增删查改_第22张图片

3 :更新 Update

语法:

UPDATE table_name SET column = expr [, column = expr ...]    [WHERE ...] [ORDER BY ...] [LIMIT ...]

例如:
MySql基础之增删查改_第23张图片

4 :删除 Delete

语法:

DELETE FROM  table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]

例如:
MySql基础之增删查改_第24张图片
删除表里的所有数据:

delete from tablename;

例如:
MySql基础之增删查改_第25张图片

另外删除整个表的语法是:

drop table tablename;

MySql基础之增删查改_第26张图片

你可能感兴趣的:(MySQL,MySql,增删查改,基本使用)