我的MySQL笔记 - Day01

这篇笔记涵盖了MySQL的基础操作,包括登录、创建数据库、查询数据表、数据表结构以及简单的数据查询。讲解了SQL语句的分类如DQL、DML、DDL和TCL,并给出了实例。还介绍了如何查看数据库版本、导入数据文件以及退出MySQL。此外,文章还涉及到了查询特定字段、多个字段以及数据的运算。
摘要由CSDN通过智能技术生成

我的MySQL笔记 - Day01


前言

笔记来源: B站老杜MySQL入门
以下笔记内容源自视频+个人感悟理解,有问题可在评论区提出
新人第一次写博客,手下留情!!


一、MySQL常用命令


1. 关于SQL语句的分类?

DQL:

数据查询语言(凡是带有select关键字的都是查询语句)
select...

DML:

数据操作语言(凡是对表当中的数据进行增删改的都是DML)
insert 增
delete 删
update 改
这个主要是操作表中的数据data。

DDL:

数据定义语言
凡是带有create、drop、alter的都是DDL。
DDL主要操作的是表的结构。不是表中的数据。
create:新建,等同于增
drop:删除
alter:修改
这个增删改和DML不同,这个主要是对表结构进行操作。

TCL:

事务控制语言
包括:
     事务提交:commit;
     事务回滚:rollback;

DCL:

数据控制语言。
例如:授权grant、撤销权限revoke....

2. 登录MySQL

(1)mysql -u root -p+密码;
(2)mysql -u root -p;

3. 创建数据库

mysql> create database database_name;
Query OK, 1 row affected (2.82 sec)

4. 查看所在数据库服务器下存储的数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

5. 查看当前use的数据库

mysql> select database();
+-------------+
| database()  |
+-------------+
| mysql       |
+-------------+
1 row in set (0.00 sec)

6.使用(use)某一数据库

mysql> use mysql;
Database changed

7.查看当前使用的数据库下的数据表

(这里拿MySQL自带的数据表示例)

mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| ndb_binlog_index                                     |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
38 rows in set (0.01 sec)

8.查看某一数据库下的数据表

mysql> show tables from bjpowernode;
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept                  |	
| emp                   |
| salgrade              |
+-----------------------+
3 rows in set (0.00 sec)

9.查看数据库版本号

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.31    |
+-----------+
1 row in set (1.74 sec)

10.向某一个数据库导入某一份数据库.sql文件

mysql> use 某一数据库库名
mysql> source D:\course\03-MySQL\document\xxx.sql
Tips:注意!!路径中不要有中文!!!

11.查看数据表中的数据

语法格式:

select * from 表名;

示例:

mysql> use 某一数据库库名
mysql> source D:\course\03-MySQL\document\xxx.sql
Tips:注意!!路径中不要有中文!!!

12.查看数据表的结构

语法格式:

desc 表名;

示例:

mysql> desc dept;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int         | NO   | PRI | NULL    |       |
| DNAME  | varchar(14) | YES  |     | NULL    |       |
| LOC    | varchar(13) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

13.终止某一SQL语句的执行

命令前提:注意!!MySQL是不见";“不执行,”;"表示终止!
“\c” 可终止SQL语句的执行!
示例:

mysql> show
  ->
  -> \C
mysql>

14.退出MySQL

可使用\q、quit、exit进行退出mysql:
示例:

mysql> \q
Bye

D:\mysql\bin>

二、简单查询

1.查询某个字段下的数据:

语法格式:

select 字段名 from 表名;

示例:查询思路:

mysql> desc dept;   		  //可以看到表dept下有DEPTNO、dname、LOC三个字段
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int         | NO   | PRI | NULL    |       |
| DNAME  | varchar(14) | YES  |     | NULL    |       |
| LOC    | varchar(13) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select LOC from dept;  //我们对LOC字段进行查询该字段下的数据
+----------+
| LOC      |
+----------+
| NEW YORK |
| DALLAS   |
| CHICAGO  |
| BOSTON   |
+----------+
4 rows in set (0.00 sec)
mysql> select * from dept;   //查询dept表下的数据,可以看到我们单一查询的LOC字段数据相符
+--------+------------+----------+
| DEPTNO | DNAME      | LOC      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
|     40 | OPERATIONS | BOSTON   |
+--------+------------+----------+
4 rows in set (0.00 sec)

2.查询两个字段或多个字段

语法格式:

select 字段1,字段2... from 表名;

示例:查询DEPTNO,LOC字段:

mysql> select DEPTNO,LOC from dept;
+--------+----------+
| DEPTNO | LOC      |
+--------+----------+
|     10 | NEW YORK |
|     20 | DALLAS   |
|     30 | CHICAGO  |
|     40 | BOSTON   |
+--------+----------+
4 rows in set (0.00 sec)

3.查询数据表的所有字段

方法一:可以把每个字段都写上

select 字段1,字段2,字段3,字段4... from 表名;

方法二:可以用 * 号

select * from 表名;

方法二缺点全览:
1.代码效率低,例如在java中运行此语句时会先将*号转化成字段名
2.可读性差
*在DOS命令窗口中想快速看看全表数据,可以采用


4.给查询字段起别名

示例:给dname字段起别名deptname

mysql> select dname as deptname from dept;
+------------+
| deptname   |
+------------+
| ACCOUNTING |
| RESEARCH   |
| SALES      |
| OPERATIONS |
+------------+
4 rows in set (0.00 sec)

启示:使用as关键字起别名。
注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname
记住:select语句永远都不会进行修改操作。(因为只负责查询)

as关键字可被省略:

mysql> select dname deptname from dept;

别名中间若需加空格或设置别名为中文,可给别名用 " " 或 ’ ’ 括起来

(1)mysql> select dname "deptname" from dept;//加双引号
(2)mysql> select dname 'deptname' from dept;//加单引号

Tips:在所有数据库中,字符串统一使用单引号括起来,双引号在oracle数据库中无法使用


5.通过SQL语句进行数据运算

项目案例:计算员工年薪:

mysql> select ename,sal from emp;					//查看员工月薪(ename为员工名)
+--------+---------+
| ename  | sal     |
+--------+---------+
| SMITH  |  800.00 |
| ALLEN  | 1600.00 |
| WARD   | 1250.00 |
| JONES  | 2975.00 |
| MARTIN | 1250.00 |
| BLAKE  | 2850.00 |
| CLARK  | 2450.00 |
| SCOTT  | 3000.00 |
| KING   | 5000.00 |
| TURNER | 1500.00 |
| ADAMS  | 1100.00 |
| JAMES  |  950.00 |
| FORD   | 3000.00 |
| MILLER | 1300.00 |
+--------+---------+
14 rows in set (0.00 sec)
mysql> select ename,sal*12 from emp;	   		    //计算员工年薪:sal*12
+--------+----------+
| ename  | sal*12   |
+--------+----------+
| SMITH  |  9600.00 |
| ALLEN  | 19200.00 |
| WARD   | 15000.00 |
| JONES  | 35700.00 |
| MARTIN | 15000.00 |
| BLAKE  | 34200.00 |
| CLARK  | 29400.00 |
| SCOTT  | 36000.00 |
| KING   | 60000.00 |
| TURNER | 18000.00 |
| ADAMS  | 13200.00 |
| JAMES  | 11400.00 |
| FORD   | 36000.00 |
| MILLER | 15600.00 |
+--------+----------+
14 rows in set (0.13 sec)
mysql> select ename,sal*12 as yearsal from emp;	//现学现用,给年薪起别名:yearsal
+--------+----------+
| ename  | yearsal  |
+--------+----------+
| SMITH  |  9600.00 |
| ALLEN  | 19200.00 |
| WARD   | 15000.00 |
| JONES  | 35700.00 |
| MARTIN | 15000.00 |
| BLAKE  | 34200.00 |
| CLARK  | 29400.00 |
| SCOTT  | 36000.00 |
| KING   | 60000.00 |	
| TURNER | 18000.00 |
| ADAMS  | 13200.00 |
| JAMES  | 11400.00 |
| FORD   | 36000.00 |
| MILLER | 15600.00 |
+--------+----------+
14 rows in set (0.00 sec)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值