MySQL基础命令:
1.查找所有的数据库
show databases;
“information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息, 比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件 所在的文件夹和系统使用的 文件夹,等等 “performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。 “sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据 库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。 “mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的 字符集、约束检查信息,等等
2.创建自己的数据库
create database 数据库名称;
#创建一个数据库前提是,名称不能与已经存在的数据库重名ex:
create database sqltest;
3.使用自己的数据库:
use 数据库名;
#使用sqltest数据库
use sqltest;
# 使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另 一个数据库操作,那么要重新use
4.查看某一个库的所有表格
show tables from 数据库名;
5.创建新的表格
create table 表名称(
字段名 数据类型,
字段名 数据类型
);
#创建一个学生表格
create table student(
id int,
name varchar(20) #名字最长不能超过20个字符
)
6.查找一个表的数据
select * from 数据库表名称;
#查找学生表的数据
select * from student;
7.添加一条数据
insert into 表名称 value(值列表);
#添加两条数据到student表中
insert into student value(1,'张三');
insert into student value(2,'蜡白');
8.查看表的创建信息
show create table 表名称\G
#show crteate table student\G
#结果:
*************************** 1. row ***************************
Table: student
Create Table: CREATE TABLE `student` (
`id` int DEFAULT NULL,
`name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.01 sec)
10.删除表格
drop table 表名称;
#删除数据库
drop database 数据库名称;
SQL的基本分类
DDL:数据定义语句。 CREATE \ ALTER \ DROP \ RENAME \ TRUNCATE
DML:数据操作语言。 INSERT \ DELETE \ UPDATE \ SELECT(重要)
DCL:数据控制语言。 COMMIT \ ROLLBACK \SAVEPOINT \CRANT \ REVOKE
注释
#:单行注释
/* */:多行注释
– :-- 注释文字(注意在"–"后面有一个空格)
导入现有的数据表、表的数据
方式一:source 文件的全路径名
source 路径
方式二:基于具体的图形化界面的工具导入数据
基本SELECT查询
SELECT 1+1,3*2;
->
SELECT 1+1,3*2
FROM DUAL;#DUAL:伪表
# *:表中的所有字段(或者列)
#语句是 :SELECT 字段一,字段二... FROM 表名;
#别名
#as :全称 alias(别名),可以省去
SELECT employee_id as lname FROM emp;
去除重复行
SELECT DISTINCT employee_id AS name FROM EMP;
#FALSE:
#会进行报错
SELECT salary, DISTINCT department_id FROM emp;
#对两列同时去重
没有很大的实际作用
SELECT DISTINCT employee_id,department_id FROM emp;
空置参与运算
#空值 :null
#null 不代表 "0"
#空值参与运算:结果一定同样为null
着重号
#出现的字段是关键字可以使用着重号
#可以将这个字段用着重号` `括起来
显示表结构
DESCRIBE employees(表名);#显示表中字段的详细信息
过滤数据
#过滤条件
SELECT * FROM employees
WHERE last_name = 'King';
#使用WHERE 子句,将不满足条件的行过滤掉
#WHERE子句紧随 FROM子句
小作业
# 1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY
SELECT last_name AS "name",salary * 12 AS "ANNUAL SALARY"
FROM employees;
# 2.查询employees表中去除重复的job_id以后的数据
select distinct job_id
from employees;
# 3.查询工资大于12000的员工姓名和工资
SELECT last_name,salary
from employees
WHERE salary > 12000;
# 4.查询员工号为176的员工的姓名和部门号
SELECT last_name,dapartment_id
FROM employees
WHERE employee_id = 176;
# 5.显示表 departments 的结构,并查询其中的全部数据
DESC departments;
select * from departments;
4.查询员工号为176的员工的姓名和部门号
SELECT last_name,dapartment_id
FROM employees
WHERE employee_id = 176;
5.显示表 departments 的结构,并查询其中的全部数据
DESC departments;
select * from departments;