mysql学习笔记(一)

1.安装

(72条消息) MySQL8.0.26安装配置教程(windows 64位)_扑喽哈哈的博客-CSDN博客_mysql8.0.26安装教程

#mysql的启动
net start mysql
#mysql的停止
net stop mysql
#登录
mysql -u -u'密码'
mysql -uroot -p

 mysql常用命令

#退出登录
exit
#展示mysql当中的数据库
show databases;
#使用某个数据库
use '数据库名称';
#创建数据库
create database '数据库名称';
#表(Table)是数据库当中最基本的,包含行和列 行(row)表示是一个记录 
#列(colum)表示的是一个字段 字段都是有数据类型和约束的
#查看数据库下有哪些表
show tables;
#以上的所有命令都不区分大小写

SQL语言分类: 

#DQL
select信息的查询
#DML 增删改的操作 对表当中的数据进行增删改
insert delete update
insert 增
delete 删
update 改
#DDL 对表的结构进行增删改
create drop alter
create 增
drop 删
alter 改
#TCL 事务控制语言
commit 事物提交
rollba 事物回滚
#DCL数据控制语言
grant 授权
revoke 撤销权限

select使用 

#导入演示的数据
create database `bjpowernode`;
use bjpowernode;
source '路径'
show tables;
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept                  |
| emp                   |
| salgrade              |
+-----------------------+
3 rows in set (0.10 sec)
#查看表中的数据 *表示的是所有
select * from emp;
+-------+--------+-----------+------+------------+---------+---------+--------+
| EMPNO | ENAME  | JOB       | MGR  | HIREDATE   | SAL     | COMM    | DEPTNO |
+-------+--------+-----------+------+------------+---------+---------+--------+
|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 |    NULL |     20 |
|  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |
|  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |
|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |    NULL |     20 |
|  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |
|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |    NULL |     30 |
|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |    NULL |     10 |
|  7788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 | 3000.00 |    NULL |     20 |
|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 |    NULL |     10 |
|  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30 |
|  7876 | ADAMS  | CLERK     | 7788 | 1987-05-23 | 1100.00 |    NULL |     20 |
|  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |    NULL |     30 |
|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |    NULL |     20 |
|  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |    NULL |     10 |
+-------+--------+-----------+------+------------+---------+---------+--------+
#查看表格的结构 describe
desc emp;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO    | int         | NO   | PRI | NULL    |       |
| ENAME    | varchar(10) | YES  |     | NULL    |       |
| JOB      | varchar(9)  | YES  |     | NULL    |       |
| MGR      | int         | YES  |     | NULL    |       |
| HIREDATE | date        | YES  |     | NULL    |       |
| SAL      | double(7,2) | YES  |     | NULL    |       |
| COMM     | double(7,2) | YES  |     | NULL    |       |
| DEPTNO   | int         | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
8 rows in set (0.17 sec)
#查看mysql数据库的版本号
select version();
+-----------+
| version() |
+-----------+
| 8.0.28    |
+-----------+
1 row in set (0.05 sec)
#查看当前用到的数据库
select database();
+-------------+
| database()  |
+-------------+
| bjpowernode |
+-------------+
1 row in set (0.00 sec)
#mysql不见;号不执行
#Ctrl + C可以用来终止命令的输入
#查询某个字段
select + `字段` + from + 'table'
#查询多个字段则使用逗号隔开
select ename,sal from emp;
+---------+--------+
| sal     | ename  |
+---------+--------+
|  800.00 | SMITH  |
| 1600.00 | ALLEN  |
| 1250.00 | WARD   |
| 2975.00 | JONES  |
| 1250.00 | MARTIN |
| 2850.00 | BLAKE  |
| 2450.00 | CLARK  |
| 3000.00 | SCOTT  |
| 5000.00 | KING   |
| 1500.00 | TURNER |
| 1100.00 | ADAMS  |
|  950.00 | JAMES  |
| 3000.00 | FORD   |
| 1300.00 | MILLER |
+---------+--------+
14 rows in set (0.00 sec)
#查询所有的字段
#第一种方式
select a,b,v,d from emp;
#第二种方式,这种方式效率低下,开发中不建议去使用
select * from emp;
#起别名 select永远不会改变表中的内容
select ename as Ename from emp;
+--------+
| Ename  |
+--------+
| SMITH  |
| ALLEN  |
| WARD   |
| JONES  |
| MARTIN |
| BLAKE  |
| CLARK  |
| SCOTT  |
| KING   |
| TURNER |
| ADAMS  |
| JAMES  |
| FORD   |
| MILLER |
+--------+
14 rows in set (0.01 sec)
#其中的as可以用空格来代替 如果别名里面有空格就使用单引号括起来
select ename Ename from emp;
select ename `data demo` from emp;
#在数据库当中,字符串统一使用单引号括起来,双引号使用不了在Oracle当中
#每一列可以进行数值计算
select sal * 12 as yearsal from emp;
+----------+
| yearsal  |
+----------+
|  9600.00 |
| 19200.00 |
| 15000.00 |
| 35700.00 |
| 15000.00 |
| 34200.00 |
| 29400.00 |
| 36000.00 |
| 60000.00 |
| 18000.00 |
| 13200.00 |
| 11400.00 |
| 36000.00 |
| 15600.00 |
+----------+
select sal*12 as `年薪`  from emp;
+----------+
| 年薪     |
+----------+
|  9600.00 |
| 19200.00 |
| 15000.00 |
| 35700.00 |
| 15000.00 |
| 34200.00 |
| 29400.00 |
| 36000.00 |
| 60000.00 |
| 18000.00 |
| 13200.00 |
| 11400.00 |
| 36000.00 |
| 15600.00 |
+----------+
14 rows in set (0.00 sec)

提交查询 

老杜带你学_mysql入门基础(mysql基础视频+数据库实战)_哔哩哔哩_bilibili

select `字段` from `表` where `限制条件`;
= 等于
select empno,ename from emp where sal = 800;
+-------+-------+
| empno | ename |
+-------+-------+
|  7369 | SMITH |
+-------+-------+
1 row in set (0.12 sec)
!= 或者 <>表示的是不等于
select empno,ename from emp where sal!=800;
+-------+--------+
| empno | ename  |
+-------+--------+
|  7499 | ALLEN  |
|  7521 | WARD   |
|  7566 | JONES  |
|  7654 | MARTIN |
|  7698 | BLAKE  |
|  7782 | CLARK  |
|  7788 | SCOTT  |
|  7839 | KING   |
|  7844 | TURNER |
|  7876 | ADAMS  |
|  7900 | JAMES  |
|  7902 | FORD   |
|  7934 | MILLER |
+-------+--------+
13 rows in set (0.00 sec)
#查询某个字符等于想要的字符时候出现错误
select ename from emp where ename=`BLAKE`;
ERROR 1054 (42S22): Unknown column 'BLAKE' in 'where clause'
mysql> select ename from emp where ename='SMITH';
+-------+
| ename |
+-------+
| SMITH |
+-------+
#这里发现和这个单引号有关系
#查询在两个数值之间的 between...and...必须遵循左小右大
select empno,ename from emp where sal between 2450 and 3000;
select empno,ename from emp where sal>=2450 and sal <=3000;
+-------+-------+
| empno | ename |
+-------+-------+
|  7566 | JONES |
|  7698 | BLAKE |
|  7782 | CLARK |
|  7788 | SCOTT |
|  7902 | FORD  |
+-------+-------+
5 rows in set (0.00 sec)
#在数据库当中查询空值不可以用=等于号 因为null不属于一个值,要用is来进行查询
select empno,ename from emp where comm=null;
Empty set (0.00 sec)
select empno,ename,comm from emp where comm is null;
+-------+--------+------+
| empno | ename  | comm |
+-------+--------+------+
|  7369 | SMITH  | NULL |
|  7566 | JONES  | NULL |
|  7698 | BLAKE  | NULL |
|  7782 | CLARK  | NULL |
|  7788 | SCOTT  | NULL |
|  7839 | KING   | NULL |
|  7876 | ADAMS  | NULL |
|  7900 | JAMES  | NULL |
|  7902 | FORD   | NULL |
|  7934 | MILLER | NULL |
+-------+--------+------+
10 rows in set (0.00 sec)
select emono,ename,comm from emp where comm is not null;
+-------+--------+---------+
| empno | ename  | comm    |
+-------+--------+---------+
|  7499 | ALLEN  |  300.00 |
|  7521 | WARD   |  500.00 |
|  7654 | MARTIN | 1400.00 |
|  7844 | TURNER |    0.00 |
+-------+--------+---------+
select ename,empno from emp where job = 'MANAGER' and sal>2500;
+-------+-------+
| ename | empno |
+-------+-------+
| JONES |  7566 |
| BLAKE |  7698 |
+-------+-------+
2 rows in set (0.00 sec)
select empno,ename from emp where job='MANAGER' or job='SALESMAN';
+-------+--------+
| empno | ename  |
+-------+--------+
|  7499 | ALLEN  |
|  7521 | WARD   |
|  7566 | JONES  |
|  7654 | MARTIN |
|  7698 | BLAKE  |
|  7782 | CLARK  |
|  7844 | TURNER |
+-------+--------+
7 rows in set (0.00 sec)
#and比or的优先级高,会先执行and语句,在执行or语句,有可能会与题干的内容相悖
select empno,ename,job from emp where sal>2500 and deptno=10 or deptno=20;
+-------+-------+-----------+
| empno | ename | job       |
+-------+-------+-----------+
|  7369 | SMITH | CLERK     |
|  7566 | JONES | MANAGER   |
|  7788 | SCOTT | ANALYST   |
|  7839 | KING  | PRESIDENT |
|  7876 | ADAMS | CLERK     |
|  7902 | FORD  | ANALYST   |
+-------+-------+-----------+
6 rows in set (0.00 sec)
select empno,ename,job from emp where sal>2500 and (deptno=10 or deptno=20);
+-------+-------+-----------+
| empno | ename | job       |
+-------+-------+-----------+
|  7566 | JONES | MANAGER   |
|  7788 | SCOTT | ANALYST   |
|  7839 | KING  | PRESIDENT |
|  7902 | FORD  | ANALYST   |
+-------+-------+-----------+
4 rows in set (0.00 sec)
#in表示的不是一个区间,表示的是里面的任意数
select empno,ename,job,sal from emp where sal in (800,2450,3000);
+-------+-------+---------+---------+
| empno | ename | job     | sal     |
+-------+-------+---------+---------+
|  7369 | SMITH | CLERK   |  800.00 |
|  7782 | CLARK | MANAGER | 2450.00 |
|  7788 | SCOTT | ANALYST | 3000.00 |
|  7902 | FORD  | ANALYST | 3000.00 |
+-------+-------+---------+---------+
select empno,ename,job,sal from emp where sal not in (800,2450,3000);
+-------+--------+-----------+---------+
| empno | ename  | job       | sal     |
+-------+--------+-----------+---------+
|  7499 | ALLEN  | SALESMAN  | 1600.00 |
|  7521 | WARD   | SALESMAN  | 1250.00 |
|  7566 | JONES  | MANAGER   | 2975.00 |
|  7654 | MARTIN | SALESMAN  | 1250.00 |
|  7698 | BLAKE  | MANAGER   | 2850.00 |
|  7839 | KING   | PRESIDENT | 5000.00 |
|  7844 | TURNER | SALESMAN  | 1500.00 |
|  7876 | ADAMS  | CLERK     | 1100.00 |
|  7900 | JAMES  | CLERK     |  950.00 |
|  7934 | MILLER | CLERK     | 1300.00 |
+-------+--------+-----------+---------+
10 rows in set (0.00 sec)
#模糊查询(重点) _表示的是一个字符,%表示的是多个字符 like关键字表示模糊查询
select ename from emp where ename like '%O%';
+-------+
| ename |
+-------+
| JONES |
| SCOTT |
| FORD  |
+-------+
3 rows in set (0.02 sec)
#查询名字以A开头的
select ename from emp where ename like 'A%';
+-------+
| ename |
+-------+
| ALLEN |
| ADAMS |
+-------+
2 rows in set (0.00 sec)
#查询名字中含有O的 大小写并不区分
select ename from emp where ename like '%o%';
+-------+
| ename |
+-------+
| JONES |
| SCOTT |
| FORD  |
+-------+
3 rows in set (0.00 sec)
#查询名字中以T结尾的
select ename from emp where ename like '%T';
+-------+
| ename |
+-------+
| SCOTT |
+-------+
1 row in set (0.00 sec)

#查询名字当中第二个字母是A的
select ename from emp where ename like '_A%';
+--------+
| ename  |
+--------+
| WARD   |
| MARTIN |
| JAMES  |
+--------+
3 rows in set (0.00 sec)
#错误的方式
select ename from emp where ename like '_A';
Empty set (0.00 sec)
#查询名字当中第三个字母是R的
select ename from emp where ename like '__R%';
+--------+
| ename  |
+--------+
| WARD   |
| MARTIN |
| TURNER |
| FORD   |
+--------+
4 rows in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值