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 表名
查询所有字段:
- 把每个字段都写上 (可读性强,效率高)
- 使用 * (缺点效率低,可读性差,实际开发中不建议)
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%'注意:转义字符 \