MYSQL
登陆mysql
mysql -h 127.0.0.1 -u root -p
use 数据库名字;
set names utf8;
SELECT * FROM tabel_name;
解释
- -h 后跟数据库ip,-u 用户,-p 密码
- use 数据库名字; 命令用于选择数据库。
- set names utf8; 命令用于设置使用的字符集。
- SELECT * FROM 表; 读取数据表的信息。
注意:
mysql命令对大小写不敏感,SELECT 命令与 select 命令是相同的。
SQL WHERE 子句
参考:SQL WHERE 子句 | 菜鸟教程 (runoob.com)
SELECT column1, column2, ...
FROM table_name
WHERE condition;
参数说明:
- column1, column2, ...:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
- table_name:要查询的表名称。
搜索 empno 等于 7900 的数据:
Select * from emp where empno=7900;
Where +条件(筛选行)
条件:列,比较运算符,值
比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)
Select * from emp where ename='SMITH';
例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。
逻辑运算
And:与 同时满足两个条件的值。
Select * from emp where sal > 2000 and sal < 3000;
查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。
Or:或 满足其中一个条件的值
Select * from emp where sal > 2000 or comm > 500;
查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。
Not:非 满足不包含该条件的值。
select * from emp where not sal > 1500;
查询EMP表中 sal 小于等于 1500 的值。
逻辑运算的优先级:
() not and or
特殊条件
1. 空值判断: is null
Select * from emp where comm is null;
查询 emp 表中 comm 列中的空值。
2. between and (在 之间的值)
Select * from emp where sal between 1500 and 3000;
查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。
注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。
3. In
Select * from emp where sal in (5000,3000,1500);
查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。
4. like
Like模糊查询
Select * from emp where ename like 'M%';
查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。
- % 表示多个字值,_ 下划线表示一个字符;
- M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
- %M% : 表示查询包含M的所有内容。
- %M_ : 表示查询以M在倒数第二位的所有内容。
5.按照中文排序
select * from table_name order by convert(col_name using gbk) collate gbk_chinese_ci asc;
参数:
- table_name 表名字
- col_name 列名字
- asc/desc 正序/逆序
排序顺序:数字最前(数字从小到大),英文其次(a-z),汉字最后(首字母)
SQL UPDATE 语句
作用:UPDATE 语句用于更新表中已存在的记录。
SQL UPDATE 语法:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
参数说明:
- table_name:要修改的表名称。
- column1, column2, ...:要修改的字段名称,可以为多个字段。
- value1, value2, ...:要修改的值,可以为多个值。
- condition:修改条件,用于指定哪些数据要修改。
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新
执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。
在 MySQL 中可以通过设置sql_safe_updates
这个自带的参数来解决,当该参数开启的情况下,你必须在update
语句后携带 where
条件,否则就会报错。
set sql_safe_updates=1;
表示开启该参数