第一天MySQL,
MySQL学习笔记
2020/5/4
一、 数据库的相关概念
1.1 能够永久性的保存数据,实现数据持久化
1.2 可以实现结构化查询,方便管理
2.数据库相关概念
2.1数据库(DB->database):存储一组有组织的数据的容器
2.2 数据库管理系统(DBMS->database management system):又称数据库软件或数据库产品,用于管理数据库中的数据
2.3 结构化查询语言(structured query language):用于和DBMS进行通信的语言(SQL语言不是某个数据库软件特有,而是几乎所有数据库软件都通用的语言)
二、 一些数据库软件
三、 数据库的特点
四、 MYSQL产品特点
优点:
五、 DBMS
两大类:
(一般来说安装数据库,是安装数据库的服务端)
六、 MySQL-配置文件
七、 MySQL服务的启动和停止
2.1 启动->net start 服务名(服务名可以在自己电脑计算机管理中的服务处查看)
2.2 关闭->net stop 服务名
八、 MySQL服务端的登入和退出
登录:mysql [-h(主机名) -P(端口号)] -u(用户名) -p(密码)
退出:exit或Ctrl+C
九、 MySQL常见命令
show database;(sql语句中以;或\g来表示一个语句的结束)
2. 打开指定的库
use 库名;
3. 查看当前库的所有表
select tables;
4. 查看其它库的所有表
select tables from 库名;
5. 创建表
create table 表名(
列名 列类型,
列名 列类型,
…
);
6. 查看表结构
desc 表名;
7. 查看服务器版本
7.1 登录到mysql服务器
show version();
7.2 没有登录到mysql服务器
mysql –version
或
mysql –V
8. 创建一个数据库
create database 库名;
9. 查看当前打开的数据库
select database();
十、 MySQL语法规范
4.1单行注释:#
4.2单行注释:-- 注释文字(注意,后面有个空格)
4.3 多行注释:/* 注释文字 */
十一、 SQL语言
1.1 基础查询
1.1.1 语法:SELECT 查询列表(查询的东西可以有多个)FROM 表名;(select->选择、过滤、查看)
1.1.2 查询列表可以是:(注意,查询的结果是一个虚拟的表格,没有真实的保存)
(1) 表中的字段
表中的单个字段:
SELECT 字段名 FROM 表名;
SELECT last_name FROM employee;
表中的多个字段:
SELECT 字段名,字段名,…,字段名 FROM 表名;(查询字段名的类型、个数、顺序可以自己定义,灵活)
表中的全部字段:
(着重号:用于把字段名与关键字区分,代表这是一个字段名,也可以不用)
(2) 常量值
SELECT 常量值;
SELECT 100;
SELECT 'john';
(3) 表达式
SELECT 表达式;
SELECT 100*98;
(4) 函数
SELECT 函数名;
SELECT VERSION();
1.1.3 给字段取别名
优点:1.便于理解 2.如果要查寻的字段有重名的情况,使用别名可以区分开来
方式一:AS方式
SELECT 字段名 AS 别名;
SELECT 100*98 AS RESULT;
SELECT last_name AS 姓,first_name AS 名 FROM employee;
方式二:使用空格
SELECT last_name 姓,first_name 名 FROM employee;
注意:若别名中有特殊字符如“ ”(空格)、“#”等,需要用“”把别名引起来(单引号也可以,不过建议使用双引号)
1.1.4 去重
SELECT DISTINCT 字段名 FROM 表名;
SELECT DISTINCT department_id FROM employee;(department_id中只显示没有重复的编号,若作用于多列,则根据多列的多个字段来共同去重)
1.1.5 +的作用
只有一个功能:运算符
(1).若两个操作数都为数值型,则直接进行加法运算
(2).若两个操作数中有一方为字符型,则会试图将字符型值转换为数值型。如果转换成功,则继续做加法运算;如果转换失败,则将字符型值转换成0
(3). 若两个操作数中有一方为null,则最后结果一定为null
1.1.6 concat()使用(拼接)
函数原型:concat(str1,str2,str3…)
SELECT CONCAT('a','b','c');->abc
SELECT CONCAT(last_name,first_name) AS 姓名 FROM employee;
2. DML语言(Data Manipulation Language)数据操纵语言
3. DDL语言(Data Definition Language)数据库模式定义语言
4. TCL语言(Transaction Control Language)事务控制语言