MySQL学习笔记(一)
作者:易成勇
案例来源:AI技术前线
MySQL常用命令
1、查看当前所有数据库
show databases;
2、打开指定的库
use 库名
3、查看当前库的所有表
show tables;
4、查看其他库的所有表
show tables from 库名
5、创建表
create table 表名
(
列名 列类型,
列名 列类型,
......
);
6、查看表结构
desc 表名;
7、查看服务器的版本
方式一:登录到MySQL服务端
selece version();
方式二:没有登录到MySQL服务端
mysql --version
或
MySQL --V
MySQL语法规范
1、不区分大小写,但是建议关键字大写,表名,列名小写
2、每条命令最好用分号结尾
3、每条命令根据需要,可以进行缩进或换行,建议按照关键字换行
4、注释
单行注释:#注释文字
单行注释:-- 注释文字 (注意一定有空格)
多行注释: /*注释文字*/
DQL语言的学习(Data Query language)
基础查询
语法:
select 查询列表,要查询的东西可以有多个
from 表名
特点:
1、查询列表可以是:表中的字段,常量,表达式,函数
2、查询的结果是一个虚拟的表格
(注:以下代码展示均基于myemployees数据库,可以点击这里下载,提取码rpte)
USE myemployees;
(表示下面的操作都在myemployees库中)
1、查询表中单个字段
SELECT last_name FROM employees;
2、查询表中多个字段
SELECE last_name,salary,email FROM employees;
中间用逗号隔开
3、查询表中所有字段
SELECT * FROM employees;
(*号表示所有字段)
4、查询常量值
SELECT 100;
SELECT 'john'; (不区分单双引号)
5、查询表达式
SELECT 900*78;
6、查询函数
SELECT VERSION();
7、取别名
方式一:
可以在字段后面加上“as+别名”
如:
SELECT last_name as 姓,first_name as 名 FROM employees;
方式二:
可以直接省略as关键字,用空格代替
比如:
SELECT last_name 姓,first_name 名 FROM employees;
注意:如果别名有关键字,需要使用双引号或者单引号
好处:便于理解,提高可读性,有重名情况可区分
8、去重
#案例
查询员工表中涉及到的所有部门的编号
SELECT department_id FROM employees;
此时会显示107个数据,并且有很多重复的数据,我们只需要涉及到的编号,所以涉及到去重的问题
方法:在字段前面加一个 DISTINCT
即:SELECT DISTINCT department_id FROM employees;
9、加号的作用
#案例:查询员工名和姓连接成一个字段,并显示为 姓名
错误示范:
SELECT last_name+first_name as 姓名 FROM employees;
在mysql中,加号的作用仅仅只有运算符的功能
要连接两个字段,需要用到CONCAT函数,
即:SELECT CONCAT(last_name,first_name) as 姓名 FROM employees;
10、着重号:
比如要查询某一个数据库中的“NAME”字段,
代码为“SELECE NAME FROM studio;”
系统可能会认为“NAME”为关键字
此时若加入一个着重号`,就可以表明“NAME"表示的是字段
即SELECE `name` FROM studio;