MySQL基础

今日目标

1. MySQL数据库简单介绍2. MySQL安装和使用3. SQL【重点】语法和关键字,实现对记录的增删改查

一 数据库介绍

1.1 什么是数据库?

存储数据的仓库,本质上就是存储数据的==文件系统==,方便我们管理数据。

1.2 数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件。

数据库管理系统->MySQL应用软件->多个仓库->多张表->多条(数据)记录

1.3 实体(普通类)和表关系

JavaBean普通的java类

一个实体对应一张表

一个对象的实例对应一条记录

1.4 常见关系型数据库

1. MYSQL:开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本【商业、社区】也开始收费。2. Oracle:收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。3. DB2:IBM公司的数据库产品,收费的。常应用在银行系统中。4. SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。5. SyBase:已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。6. SQLite: 嵌入式的小型数据库,应用在手机端。

二 MySQL安装和使用

2.1 安装

参考《MySQL5.7安装与卸载.pdf》,注意:不要有中文路径

MySQL的核心配置文件:my.ini

MySQL数据的存放文件:data

2.2 配置

1. 启动关闭:默认开机自启动1)window窗口win+r 打开运行窗口 搜索:services.msc2)dos命令行注意:使用超级管理员打开启动:net start mysql关闭:net stop mysql2. 登录1)dos命令行1.1 直接登录本地mysqlmysql -u用户名 -p密码1.2 指定ip登录mysql -hip地址 -u用户名 -p密码1.3 指定ip全称登录mysql --host=ip地址 --user=用户名 --password=密码2)图形化工具3. 退出exitquit

三 SQL【重点】

3.1 概述

3.1.1 什么是SQL?

结构化查询语言(Structured Query Language)

通过sql语句命令,实现对数据库的基础操作【增删改查】

【CRUD】:create 创建、retrieve(read) 检索、update 更新、delete 删除

3.1.2 SQL方言

SQL是一套标准,所有的数据库厂商都实现了此标准;但是各自厂商在此标准上增加了特有的语句,这部分内容我们称为方言。

举个栗子:MySQL注释 #

3.1.3 SQL书写规范

1. sql语句可以单行或多行书写,最后以分号结尾2. windows环境下的MySQL不区分大小写,关键字大写,自己的内容小写,多个单词之间使用下划线分割backGround  back_ground3. 注释单行-- 所有厂商支持的注释# mysql特有注释多行/* 注释内容 */

3.1.4 SQL分类

1. DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter等2. DML(Data Manipulation Language)数据操作语言 用来对数据库中表的数据进行增删改。关键字:insert,delete, update等3. DQL(Data Query Language) 数据查询语言用来查询数据库中表的记录(数据)。关键字:select, where等4. DCL(Data Control Language)数据控制语言用来定义数据库的访问权限和安全级别,及创建用户。关键字:grant,revoke等5. TCL(Transaction Control Language) 事务控制语言用于控制数据库的事务操作,关键字; commit,savepoint,rollback等

3.2 基础实现

3.2.1 DDL

1)操作数据库

C:创建

1. 直接创建数据库【掌握】语法:create database 数据库名;实例:create database web01;2. 先判断,若不存在创建数据库语法:create database if not exists 数据库;实例:create database if not exists web01;3. 创建数据库并指定字符集语法:create database 数据库名 character set 编码;实例:create database web01_1 character set gbk;

R:查询

1. 查看所有数据库语法:show databases;2. 查看建库语句语法:show create database 数据库名;实例:show create database web01_1;

U:修改

1. 修改数据库字符集语法:alter database 数据库名 character set 编码;实例:alter database web01_1 character set utf8;

D:删除

1. 直接删除数据库语法:drop database 数据库名;实例:drop database web01_1;2. 先判断,若存在删除语法:drop database if exists 数据库名;实例:drop database if exists web01_1;

进入指定数据库中

1. 当前所在位置语法:select database();2. 切换数据库语法:use 数据库名;实例:use web01;

2)操作表

C:创建

1. 创建表语法:create table 表名(列名(字段名) 数据类型,列名(字段名) 数据类型,...);实例:create table student(id int,name varchar(32),birthday date);2. 数据类型整型:int bigint浮点型:float double字符串:varchar(长度)  1~65535text longtext(4GB)日期:date datetime3. 克隆表将一张新表进行创建,内部的表结构与指定的旧表一样语法:create table 新表 like 旧表;实例:create table teacher like student;

R:查询

1. 查询所有表语法:show tables;2. 查看建表语句语法:show create table 表名;实例:show create table teacher;
3. 查看表结构语法:desc 表名;实例:desc teacher;

U:修改【了解】

1. 新增一列语法:alter table 表名 add 列名 数据类型;实例:alter table teacher add jieshao varchar(32);
2. 修改指定列的数据类型语法:alter table 表名 modify 列名 新类型;实例:alter table teacher modify jieshao varchar(66);3. 修改指定列的名称语法:alter table 表名 change 旧列名 新列名 新类型;实例:alter table teacher change jieshao intro varchar(101);
4. 删除指定列语法:alter table 表名 drop 列名;实例:alter table teacher drop intro;5. 修改表的字符集语法:alter table 表名 charset=编码;实例:alter table teacher charset=gbk;6. 修改表名语法:rename table 旧表名 to 新表名;实例:rename table teacher to tch;

D:删除

1. 直接删除[掌握]语法:drop table 表名;实例:drop table tch;2. 先判断,若存在删除语法:drop table if exists 表名;实例:drop table if exists tch;

3.2.2 DML

1)添加记录

1. 语法:insert into 表名(字段1,字段2....) values(值1,值2);insert into 表名 values(值1,值2...); 必须与表的字段顺序和个数一一对应
2. 注意:1)字段名与值的的类型要求一一对应2)字符串可以使用单双引,推荐单引号3)字符串可以插入一切数据类型,mysql底层进行了隐式转换3. 实例:insert into student(id,name) values(1,'tom');insert into student(id,name,birthday) values('2','jerry','1940-2-10');----------------------------- 简化insert into student values(3,'刘强东','1970-1-1');insert into student values(4,'杰克马',null);--------------------------------一次插入二个信息insert into student values(5,'马化腾',null),(6,'王健林',null);

蠕虫复制【了解】

1. 将一张表中的记录快速插入到另一张表2. 应用场景:压力测试3. 实例需求:先克隆一张新表,将旧表中的数据快速插入到新表1.克隆表create table stu like student;2.蠕虫复制insert into stu select * from student;

中文乱码【已经在 5.7中优化】

1. 出现乱码问题只有一个原因,编码和解码不一致

2)修改记录

1. 语法update 表名 set 字段1=值1,字段2=值2..... [where 条件];2. 解释1)[] 表示里面的内容可以省略3. 实例update stu set birthday='1974-1-1';update stu set birthday='2000-1-1' where id=4;

3)删除记录

1. 语法delete from 表名 [where 条件];
2. 解释1)[] 表示里面的内容可以省略3. 实例delete from stu;delete from student where id=4;4. 稳准狠删除truncate table 表名;  摧毁表,重构表。

3.2.3 DQL【70%】

1. 简单查询语法:select * from 表名;select 列名1,列名2... from 表名;去重关键字:select distinct 列名 from 表名;我们在查询结果之上进行数学运算,不会改变表中的原有记录。null与其他数值进行数学运算,结果还是nullifnull高级函数ifnull(列名,指定默认值); 如果该列有值直接返回,若为null返回指定默认值设置别名select 列名1 [as] 列别名1,列名2 [as] 列别名2.... from 表名 [as] 表别名;2. 通过案例驱动方式进行教学今天的资料中 准备 案例.sql-- 查询表中所有学生的信息select * from student1;-- 查询表中所有学生的姓名和对应的语文成绩select name,chinese from student1;-- 查询表中学生姓名(去重)select name from student1;select distinct name from student1;select distinct name,chinese from student1;-- 在所有学生数学分数上加10分特长分select name,math from student1;select name,math+10 from student1;-- 统计每个学生的总分select name,chinese+english+math from student1;select name,(chinese+ifnull(english,0)+math) from student1;-- 使用别名表示学生总分select name 姓名,(chinese+ifnull(english,0)+math) as 总分 from student1;-- 解决英语null值select ifnull(english,0) from student1;-- 表别名select stu1.name,tch1.name from student1 as stu1;

mysql update 多个字段_MySQL数据库基础相关推荐

  1. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  2. mysql 创建视图 主键_MySQL数据库基础操作命令,本文助你更上一层楼!

    今天介绍的是关于Mysql数据库一些操作的基础命令 用户与权限 创建用户 mysql>create user test identified by 'BaC321@#'; 修改密码 5.5版本及 ...

  3. mysql删除新添加数据_MySQL数据库基础(六)——SQL插入、更新、删除操作

    MySQL数据库基础(六)--SQL插入.更新.删除操作 一.插入数据 1.为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值. INSERT INTO ta ...

  4. mysql update两个字段_mysql更新多个字段语句写法!

    mysql 数据库,更新字段语句: 一.UPDATE: UPDATE的功能是更新表中的数据.这的语法和INSERT的第二种用法相似.必须提供表名以及SET表达式,在后面可以加WHERE以限制更新的记录 ...

  5. 用mysql查询女生中最高分_mySql数据库基础

    SQL 结构化查询语言. MySQL 数据库管理系统. SQL Server 微软的数据库管理系统. Oracle(甲骨文) 数据管理系统. show databases; 显示数据库管理系统中所有数 ...

  6. MySQ快速基础篇_MySQL数据库基础

    MySQ快速基础篇_MySQL数据库基础 文章目录 MySQ快速基础篇_MySQL数据库基础 MySQL数据库基础 学习目录 学习目标 一.数据库概述 1.数据库介绍 2.数据库分类 ☆ 关系型数据库 ...

  7. MYSQL数据库字段关联_MySQL数据库基础——操作关系表、连接查询

    MySQL数据库基础入门--day11 一.操作关联表 1.关联关系: 关联关系有:多对一.多对多和一对多. 一对一关联关系可以应用在以下几方面: (1)分割具有很多列的表 (2)由于安全原因而隔离表 ...

  8. mysql请输入一个有效类型的长度值_MySQL数据库基础(三)——SQL语言

    MySQL数据库基础(三)--SQL语言 发布时间:2020-05-19 16:40:05 来源:51CTO 阅读:10596 作者:天山老妖S MySQL数据库基础(三)--SQL语言 一.SQL语 ...

  9. mysql tdb数据库_MYSQL数据库基础

    数据库基础 DBMS(数据库管理系统) DBMS 是"数据库管理系统"的简称(全称 DataBase Management System).实际上它可以对多个数据库进行管理,所以你 ...

最新文章

  1. 实验:IP地址转换(超好用的substr();)
  2. 开源(Open Source)那些事儿 (一)
  3. python数据拟合fit
  4. Asp.net常用技巧
  5. QDir类cleanPath函数用法
  6. 损失函数的意义和作用_损失函数的可视化:浅论模型的参数空间与正则
  7. koa2-cors应答跨域请求实现
  8. Mac小白入门小技巧
  9. ios苹果应用ipa一键签名工具_ios签名何以做到不越狱不上架也能安装ipa文件?
  10. 抓包工具神器,fiddler全解
  11. 自己制作并发布720°VR全景图
  12. HTML菜鸟教程学习笔记
  13. 学点简单的Python之Python生成器
  14. 习题8-5 折纸痕(Paper Folding, UVa177)
  15. Sublime 安装Boxy + OmniMarkupPreviewer
  16. 程序员的一天:程序员每天工作是怎样的?带你看看!!
  17. BO Xcelsius 2008注册方法
  18. Java--SpringBoot无法访问网站
  19. 3星|李笑来《财富自由之路》:标题党,励志书,提到一点投资技巧
  20. 【面试次体验】堆糖前端开发实习生

热门文章

  1. 【Java】判断学生成绩等级
  2. mysql不能做端点测试吗_端点测试的分步介绍
  3. web可用性测试_Web开发人员和设计人员的最佳可用性测试工具
  4. iphone 2x 3x_iPhone X的未来:从现实到荒诞
  5. mysql 连接失败的日志(或者输出)结果分析
  6. scrapyd远程连接配置
  7. 大数据技术周报第 007 期
  8. 一个牛逼的Coder是这样诞生的
  9. Google最热开源项目
  10. Python分析《我们与恶的距离》豆瓣剧评