目录
6、NULL 的查询:IS (NULL | NOT) NULL
一、如何使用系统运行窗口连接MySQL
win+R 输入cmd 后,打开系统运行窗口,然后输入:
mysql -u root -p
最后输入密码,就可以打开MySQL窗口了。
二、数据库的基本操作
1、显示当前的数据库
SHOW DATABASES;
注意:一定不要忘记最后还有一个分号!
2、创建数据库
创建名为 test1 的数据库:
CREATE DATABASE test1;
3、使用数据库
use 数据库名;
4、删除数据库
删除名为 test1 的数据库:
DROP DATABASE test1;
删除数据库后,内部看不到对应的数据库,里面的表和数据全都删除了。
5、显示当前数据库
进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。
select database();
三、表的基本操作
注意:需要操作数据库中的时,需要先使用该数据库!
use 数据库名;
1、查看表结构
desc 表名;
2、显示数据库中有哪些表
show tables;
3、创建表
CREAT TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
可以用comment来增加字段说明:
4、删除表
DROP TABLE table_name;
5、插入
·单行数据+全插入:
INSERT INTO table_name VALUES (数据,数据……);
·多行数据+指定列插入:
INSERT INTO table_name (id,name) VALUES
(1,'张三'),
(2,'李四');
6、查询
·全列查询
SELECT *FROM table_name;
·指定列查询
SELECT id,name FROM table_name;
-----------------------------------------------------
指定元素的顺序不需要按定义表的顺序来
·查询的字段为表达式
表达式不包含字段: SELECT id,10 FROM table_name;
表达式包含一个字段:SELECT id , id+10 FROM table_name;
表达式包含多个字段:SELECT id , class, id + class FROM table_name;
·别名查询
SELECT id , name 别名 FROM table_name;
·去重查询:DISTINCT
例如一个表显示如下:
—————其中 80 分重复了—————
我们对其进行去重查询:
SELECT DISTINCT english FROM table_name;
结果为:
·排序查询:ORDER BY
格式:
SELECT … FROM table_name ORDER BY … [ASC | DESC];
—————————————————————————————
—— ASC 为升序(从小到大) ——
—— DESC 为降序(从大到小) ——
—— 默认情况下为ASC ——
注意:
1、没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖返回的顺序。
2、NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面。
3、可以对多个字段进行排序,排序优先级为字段的书写顺序。
·条件查询:WHERE
比较运算符:
逻辑运算符:
注意:
1、WHERE 可以使用表达式,但是不能使用别名。
2、AND 的优先级高于 OR,在同时使用时,需要用小括号 () 包裹要优先执行的部分。
范例:
1、基本查询
—— 查询成年的同学的姓名 (age >= 18)——
—— 查询分数不及格的同学的信息 (garde < 60)——
2、AND 与 OR
—— 查询未成年且不及格的同学的信息 (age < 18 AND garde < 60)——
—— 查询未成年或不及格的同学的信息 (age < 18 OR garde < 60)——
3、BETWEEN … AND …
—— 查询分数在 80 - 90 的同学的信息 ( [80,90] )——
4、IN
—— 查询分数为80,90 的同学的信息 ( 80,90 )——
5、模糊查询:LIKE
% 匹配任意多个任意字符
SELECT name FROM table_name WHERE name LIKE '张%' ;
(张三、张二三、张 都可以被匹配)
_ 匹配严格的一个任意字符
SELECT name FROM table_name WHERE name LIKE '张_' ;
(只能匹配张三,不能匹配 张二三、张)
6、NULL 的查询:IS (NULL | NOT) NULL
查询名字为空的同学的信息:
SELECT name FROM table_name WHERE name IS NULL;查询名字不为空的同学的信息:
SELECT name FROM table_name WHERE name IS NOT NULL;
·分页查询:LIMIT
语法:
—— 起始下标为0
—— 从0开始,筛选N条结果
SELECT … FROM table_name [WHERE …] [ORDER BY] LIMIT N;
—— 从X开始,筛选N条结果
SELECT … FROM table_name [WHERE …] [ORDER BY] LIMIT X , N;
—— 从X开始,筛选N条结果
SELECT … FROM table_name [WHERE …] [ORDER BY] LIMIT X OFFSET N;
注意:加了OFFSET 的筛选方式会比没加的更加精准。
(不加OFFSET 就是默认 OFFSET 0,OFFSET 后跟着的就相当于数组中的下标,从下标位置往后查找N个数。)
7、修改表内容
*修改表内容修改的是硬盘上的数据,无法撤回,操作时要慎重!
语法:
UPDATE table_name SET 修改内容 [WHERE …] [ORDER BY …] [LIMIT …];
范例:
1、我们建一张班级名称的表格
2、我们将网络工程的老师改为“林一”
3、将电气工程的 id 改为4000,老师改为“郭二”
4、将所有班级的 id 改为1010
注意:
在修改表时,若不加任何限制条件,就默认会修改表中的所有数据!且修改后的值不能超出原本定义的范围,否则会报错!
8、删除表中的内容
语法:
DELETE FROM table_name [WHERE …] [ORDER BY…] [LIMIT …];
范例:
1、删除网络工程的信息
2、删除整张表
如果不加限制条件,就是删除表中的所有内容。所以操作需谨慎!
他与DROP不同的点在于:
DROP是删除这个表,表内数据和表都不存在了;
DELETE是删除表内数据,表本身还存在。
以上就是 MySQL基础:数据库的基本操作详解(增删改查 原理+代码+运行截图详解) 的全部内容了,希望能对您有所帮助!您的点赞关注就是对我最大的支持!