1.查询数据库中所有的表:
SHOW TABLES;
2.ORDER BY的使用,有多个字段时的使用方法:
ORDER BY AGE (ASC),ID DESC
注意:多个字段分组查询会先根据第一个字段进行排序,若相同则根据第二个进行排序。ASC为默认排序方式。
3.MySQL黑窗口登录方法:
本地连接:
mysql -uroot -p
password
非本地连接:
mysql -hlocalhost -uroot -p
-h表示连接的主机名,一般在本地,如果不在本地就需要写上地址(ip)。
-u用户名
-p密码
4.黑窗口创建数据库、使用书库据、建表流程:
CREATE DATABASE test;
USE TEST;
CREATE TABLE test_table(
NAME VARCHAR(10) NOT NULL
);
-p与-P的区别:
-p参数: -p参数用于指定连接数据库时使用的密码。当使用-p参数时,后面需要跟上密码,会直接将密码暴露在命令行中。
-P参数:-P参数用于提示输入密码,而不是在命令行中直接暴露密码。当使用-P参数时,命令行会提示用户输入密码,用户需要手动输入密码,输入的密码不会显示在命令行中。这种方式更安全,可以避免密码被他人看到。
5.where后面加if的sql语句:
SELECT * FROM orders WHERE order_date > '2022-01-01' AND IF(total_amount > 100, 1, 0) = 1;
使用了IF函数来判断总金额是否大于100,如果是,则返回1,否则返回0。然后使用WHERE子句来筛选满足条件的数据。
6.什么是笛卡尔积现象?
在进行表连接操作时,没有指定where限制条件,或者限制条件不准确,导致笛卡尔积现象。笛卡尔积会生成一个结果集,其中的每一行都是两个表中所有可能组合的行。
例如,a表和b表中分别有3和4行数据,当不进行条件限制的时候,a表会和b表中的数据一一匹配,从而产生12行的结果集。
7.插入数据:
INSERT INTO 表名 (字段名1,字段名2,...) VALUES (数据1,数据2);
如果只有一行数据,则使用VALUE
8.删除数据:
DELETE FROM 表名 WHERE (限制条件);
9.DISTINCT的用法:
它只能加在所有查询字段之前。
10.count(*)和count(字段)的区别:
COUNT(*)计算表中的总行数,包括NULL值的行:
而COUNT(字段)返回的是字段非空的行数。
11.ifnull(字段,默认值);
12.只有DML语句才存在事务,DQL语句中不需要使用事务。
13.内外连接的区别和主要使用场景:
内连接是根据两个或多个表之间的共同字段(连接字段)来匹配并返回满足条件的行。只有在连接字段在两个表中都存在匹配值时,才会返回结果。内连接只返回匹配的行,不返回不匹配的行。
外连接是根据两个或多个表之间的共同字段(连接字段)来匹配并返回满足条件的行,同时还会返回不匹配的行。如果某个表中的行在另一个表中没有匹配的行,外连接会返回NULL值。
左外连接返回左表中的所有行,以及右表中与左表匹配的行。
右外连接返回右表中的所有行,以及左表中与右表匹配的行。
全外连接返回左表和右表中的所有行,如果没有匹配的行,则对应的字段值为NULL。
网友评论