当前位置: 代码迷 >> 综合 >> MySQL学习笔记--day1
  详细解决方案

MySQL学习笔记--day1

热度:98   发布时间:2023-11-26 13:47:18.0

MySQL服务

net start 服务名称 (启动)

net stop 服务名称 (关闭)

本地登录mysql : mysql -uroot -p密码 (显示密码)

本地登录mysql : mysql -uroot -p (回车) 再输入密码 (隐藏密码)

退出登录:exit

C:\WINDOWS\system32>mysql -uroot -p********
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.28 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

mysql常用命令

查看mysql中有哪些数据库

查看mysql中有哪些数据库: show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

默认系统带了4个数据库

选择使用哪个数据库

选择使用哪个数据库 : use 数据库名称

mysql> use sys
Database changed

表示正在使用一个名字叫做sys的数据库

查看数据库中有哪些表

查看数据库中有哪些表:show tables;

再进入(use)某个表之后

mysql> show tables;
Empty set (0.02 sec)
mysql> use mysql
Database changed
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                                   |
| 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                                                 |
+------------------------------------------------------+
37 rows in set (0.00 sec)
查看表中的数据

查看表中的数据:select * from 表名;

查看表的结构

只看表中的结构不看数据:desc 表名;

创建数据库

创建数据库 :create database 名字; (注意分号)

mysql> create database running_potato;
Query OK, 1 row affected (0.01 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| asdasd             |
| information_schema |
| mysql              |
| performance_schema |
| running_potato     |
| sys                |
+--------------------+
6 rows in set (0.00 sec)
其他

查看MySQL的版本号 :select version();

查看当前使用的是哪个数据库 : select database();

终止命令的输入:\c

退出MySL:exit

MySQL不见分号不执行

表的理解

数据库中最基本的单元是表 :table

行(row):数据/记录

列(column):字段

每个字段都有:字段名,数据类型,约束等属性

SQL 语句分类

DQL: 数据查询语言 select…

DML:数据操作语言 主要操作表中的数据,insert delete update

DDL:数据定义语言 主要操作表的结构,而非数据 。 凡是待遇create drop alter的都是DDL

TCL:事务控制语言 ,提交 ,回滚

DCT:数据控制语言,授权,撤销权限

导入演示数据

将 .sql 文件导入数据库

source 路径

(路径中不能存在中文路径)

再通过 select * from 表名; 查看表的信息

SQL语句

注意

  • 对于SQL语句来说,都是通用的
  • 所有的SQL语句以 “ ; ”结尾
  • 另外SQL语句不区分大小写,都行
  • 数据库中的字符串都是采用单引号括起来,双引号不标准
简单查询

查询一个字段

select 字段名 from 表名

查询多个字段

使用都逗号隔开

select 字段名,字段名,字段名 from 表名

查询所有字段

  1. 把每个字段都写上 (可读性强,效率高)
  2. 使用 * (缺点效率低,可读性差,实际开发中不建议)
select * from 表名
查询时给列起别名
select dname as deptname from 表名;select 原名 as 别名 from 表名;

使用 as关键字起别名

注意:只是将现实的查询结果列名显示为deptname ,原表名还是 原名, select语句永远不会进行修改操作。(只负责查询)

as关键字可以省略,但不能加逗号

select dname deptname from 表名;select 原名 别名 from 表名; 
条件查询

将表中符合条件的数据查询出来

select...(字段)
from...(表名)
where条件;
实例:select empon,ename from emp where sal = 800

查询条件

= 等于
<> 或 != 不等于
<= >=
between ...(小数) and ...(大数字)(闭区间,包含两端的值) 两值之间,等同于 >= and <=
and
or  and优先级比 or高 可以使用()改变优先级
is null 数据库中 null 不能永=衡量,null在数据库中代表什么也没有,不是一个值
is not null
in  示例 select empon,ename,job from emp where job in('MANAGER','SALESMAN' ) 相当于 select empon,ename,job from emp where job 		='MANAGER' and job = 'SALESMAN'
not in 
not 可以取非 主要用在 is和in中like 称为模糊查询,支持%或下划线匹配 ,%匹配任意字符,_ 一个下划线只匹配一个任意字符 实例:找名字里面有O的 select ename from emp where ename like '%O%'实例:找名字以K开始的 select ename from emp where ename like 'K%'实例:找名字字母第二个是A的 select ename from emp where ename like '_A%'注意:转义字符 \
  相关解决方案