启动数据库
开始服务 cmd窗口(管理员身份),指令:net start [服务名]
停止服务 cmd窗口(管理员身份),指令:net stop [服务名]
MySql服务的登入和退出
- 使用 mysql 自带的命令窗口,只限root用户。
- windows cmd 最好是管理员身份 。
- 连接数据库:
示例:mysql -h localhost -P 3306 -u root -p
语意: mysql -h 【主机】-P 【端口号】-u root -p【密码】
解释:mysql 为固定指令,-h 主机 ,-P 端口号,-u uer 用户名,-p 密码 。
简写:mysql -u root -p【密码】
- 输入 exit 或者 键盘Ctrl+C+C;
- 注意:这些指令需要你成功启动了sql服务才可以。
MySql的常用指令
- 查看当前所有的数据库:show databases;
- 打开指定的库:use 库名;
- 查看当前库的所有表:show tables;
- 查看其它库的所有表:show tables from 库名;
- 创建表:
create table 表名(
列名1 列类型,
列名2 列类型,
…
)
- 查看表结构:desc 表名;
- 查看服务器的版本:
- 方式一:select version();
- 方式二:退出库->mysql —version 或者 mysql -V// 这是window中的命令不用加分号。
- 查看自己当前是那个库:select database();
MySql语法规范+查询表数据
- 不区分大小写,但建议关键字大写,表名、列名小写。
- 每条命令用分号结尾,图形化界面不行也可以用但是还建议写上。
每条命令根据需要,可以进行缩进,或者换行,建议使用关键字换行可以让结构看着清晰示例:->SELECT
-> *
-> FROM
-> stuinfo;
当然不这么做完全可以不必纠结。注释:单行注释1:#注释文字,单行注释2:— 注释文字。多行注释:/ 多行注释 /
基础查询
#进阶查询1:基础查询
/*
语法:
select 查询列表 from 表名字;
特点:
1. 查询列表可以是:表中的字段、常量值、表达式、函数。
2. 查询的结果是一个虚拟的表格。
*/
#1. 查询表中的单个字段
SELECT
first_name,
last_name
FROM
`employees` ;
#2. 查询表中的多个字段
SELECT `job_id`,`salary`,`hiredate` FROM `employees`;
#3. 查询所有字段
SELECT * FROM `employees`;
#4. 查询常量值
SELECT 100;
SELECT 'john'; # sql语句不区分字符和字符串'' "" 都可以。
#5.查询表达式
SELECT 100%10;
#6.查询函数
SELECT VERSION();
#7.起别名
/*
① 便于理解。
② 如果要查询的字段有重名的情况,使用别名可以区分开来。
*/
# 方式一 as:
SELECT 100*90 AS a1;
SELECT `last_name` AS 姓, `first_name` AS 名 FROM `employees`;
# 方式二 省略:
SELECT last_name 姓,first_name 名 FROM `employees`;
# 案例:查询salary,显示结果为 out put , out put 本身是关键字。
SELECT salary AS "out put" FROM `employees`;
#8.去重
# 案例
SELECT DISTINCT `department_id` FROM `employees`
#9.+号的作用
/*
mysql 中的+号只做:运算符。不做:连接符。
SELECT 100+90; 打印 190 两个操作数都为数值类型,则做加法运算
SELECT '100'+90; 打印 190 其中一个是字符型,就会试图将字符型数值转换成数值型,如果转换成功,则继续做加法运算。
SELECT 'john'+90; 打印 0 转换失败的则还会将字符型转换成0。
SELECT null+90; 只要其中一方为null,则结果肯定为null。
*/
#案例:查询员工名字和姓连接成一个字段,并显示为姓名
SELECT
CONCAT(last_name, ' ', first_name) AS 姓名
FROM
`employees`