一、 数据库:

*学习重点:创建数据库/向表添加记录/查询记录

数据库概念:文件系统(存储和管理)

数据库软件介绍:Oracle/MySQL/SQL server…

分类:

关系型数据库:关系模型组织数据

非关系型数据库:键值对关系存储

二、 mysql数据的存储方式:

一台数据库服务器中会创建很多个数据库(一个项目会创建一个数据库)

在数据库中会创建很多张表(一个实体会创建一个表)

在表中会有很多记录(一个对象的实例会添加一条新的记录)

三、 数据库中表和Java中类的对应关系:

数据库中以表的方式存储数据,类似于Java中的类,每个字段会有相应的数据类型;

表名 – Java类

表中的字段 – 类中的属性

表中的记录 – 类创建的对象

浏览器 — Web服务器 — 数据库服务器

用户 项目

四、 SQL: (结构化查询语言:Structure Query Language)

1)概述:定义了操作所有关系型数据库的规则;

2)SQL通用语法:

1.语句以分号结尾

2.空格和TAB增加可读性

3.不区分大小写,关键字用大小写

4.三种注释; a. -- (通用) b. # (mysql特有) c. /* */

3)SQL分类: (了解)

DDL(Database Definition Language): 操作数据库/表

DML(Database Manipulation Language): 增删改表中的数据

**DQL(Database Query Language):查询表中的数据

DCL(Database Control Language): 授权

五、 DDL: (Definition)操作数据库/表

1) 操作数据库 (CRUD)

1. Create:创建

create database 库名; 创建数据库

create database 库名; 创建数据库

create database if not exists 库名;

create database 库名 character set 字符集名;

create database if not exists 库名 character set 字符集名;

2. Retrieve:查询

show databases; 查看所有数据库;

show create database 库名;查看指定数据库的字符集(创建语句)

3. Update:修改

alter database 库名 character set 字符集名;

4. Delete:删除 (慎用)

drop database 库名;

drop database if exists 库名;

5. 使用数据库

use 库名; (不加database)

select database();查看正在使用的数据库;

2) 操作表 (CRUD)

1. Create:创建

create table 表名 (列名1 数据类型1, 列名2 数据类型2…);

注意: 1.加() 2.最后一列不要逗号

常见数据类型:

数值类型:

int: 整数 eg: age int;

double(m,n):小数

eg:score double(5,2);五位小数,保留两位;

字符串类型 :

varchar(len):字符串(长度可变) 格式:varchar(字符串长度)

char:字符串(长度固定)

示例: zhangsan 8个字符 张三 2个字符

日期类:

time(HH-mm-ss):时间

date: 日期 格式: yyyy-MM-dd eg:19960227 /1996-02-27

datetime:日期

格式: yyyy-MM-dd HH:mm:ss eg:19960227052013

注意: 如果没有存值,则默认为 Null

timestamp:时间戳 (stamp邮票)

注意: 没有存值,默认系统时间;

//示例:

create table student(

id int,

name varchar(30),

score double(5,2),

birthday date(yyyy-MM-dd),

insert_time timestamp

)

2. Retrieve:查询

show tables; – 查询所有的表; (并没有show table 表名;语句)

show create table 表名; – 查看创建表的详细信息

describe 表名;–查询表结构;

3. Update:修改 (八太重要)

a) 修改表名

alter table 表名rename to 新表名; – 修改表名

alter table 表名 character set 字符集名;–修改表的字符集

b) 添加一列:

alter table表名 add 列名 数据类型; – 添加新字段

c) 修改列的名称/类型

alter table 表名 change 列名 新列名 新数据类型;–修改指定的字段

alter table 表名 modify 列名 新数据类型;–修改字段的数据类型

d) 删除列

alter table 表名 drop 列名; 删除表的字段

4. Delete:删除表

drop table 表名;

drop table if exists 表名;

六、 DML: (Manipulation)增删改表中数据

添加数据:

insert into 表名 (列名1,列名2…) value (值1,值2…);

insert into 表名 value (值1,值2…); – 给所有列添加数据

注意:

1.列名和值要一一对应

2.如果不定义列名,默认给所有列添加值,写的时候就要写全,不然报错;

问题:

在命令窗口添加中文数据时,会报错;编码问题;

SHOW VARIABLES LIKE ‘%character_set_%’;模糊查询变量字符串的设置

删除数据:

delete from 表名 where 条件; 按条件删除数据

注意:不加条件,删除所有记录; (慎用) 有多少条记录就会执行多少次操作;

truncate table 表名; (推荐效率高) – 删除表,再创建一样的新表;

truncate :vt. 把…截短;缩短;使成平面

修改数据:

update 表名 set 列名1 = 值1, 列名2 = 值2… where 条件;

注意:不加条件,默认修改所有的记录;

七、 DQL: (Query)查询表中的记录

1. 语法

select

字段列表

from

表名列表

where

条件列表

group by

分组字段

having

分组之后的条件限定

order by

排序

limit 分页限定

2. 基础查询

多个字段的查询:

select 列名1,列名2...from 表名; 查询

select * from 表名; 查询表中所有数据

去重:

select distinct address from student;

计算列:

select 列名1 + 列名2 from student;

注意:如果有null值参与的运算,结果都是null;

解决:select 列名1 + ifnull(列名2, 0) from student;

ifnull(表达式1,表达式2);

表达式1:那个字段需要判断是否为null;

表达式2:如果是null,则赋值为表达式2;

起别名:

select 列名 as 新列名 from student; -- as可以省略

3. 条件查询 ( where )

1.格式: where子句后跟条件

2.运算符:

比较运算:

< > <= >= = !=

between 数值1 and 数值2; -- 在..和..之间

in(数值1,数值2...); -- 在..中

is null /is not null ; -- 是否为null

eg: select name,math from student where math is null;

逻辑运算:

且: && / and 或: || /or 非: !

4. 模糊查询: (like)

占位符:

_ :单个任意字符

% :多个任意字符

eg:

select *from student where name like '马%'; -- 第一个字为马的人

select *from student where name like '_马%'; -- 第二个字为马的人

select *from student where name like '___'; -- 名字为三个字的人

select *from student where name like '%桥%'; -- 名字中有桥的人

SELECT *FROM student WHERE NAME LIKE '柳_'; -- 名字为两个且姓柳

因为本人刚开始写博客,时间有限,没有编辑文本.

mysql 即学a又学b_MySQL学习第一天相关推荐

  1. python全栈要学什么_python全栈要学什么 python全栈学习路线

    IT行业,技术要比学历.年龄.从业经验更为重要,技术水平直接决定就业薪资,想要学好python,首先要先了解精通Python语言基础.Python web开发.Python爬虫.Python数据分析这 ...

  2. 没有基础怎么学Web前端?相关学习路线是什么?

    没有基础怎么学Web前端?相关学习路线是什么?随着互联网的迅猛发展,互联网项目对用户体验提出了更高的要求,Web前端开发人员成为了重要的研发角色.很多人想要快速加入前端开发这一高薪行列,对于想要学习W ...

  3. web前端开发需要学什么(包含前端学习路线)

    前端开发,做到后面,是可以走很多方向的: 但是要保证后期的平滑过度,前期还是要把一些必须的知识搞扎实的: web前端开发需要学什么 环境搭建 前端环境很好搭建,编辑器+浏览器即可. 浏览器推荐使用 C ...

  4. 学弟学妹要的Java学习路线我终于写完了

    目录 学Java有哪些就业方向? 数据结构和算法 设计模式 计算机基础 Java 入门 Java 高手进阶 基础框架(SSM) 微服务框架 常用中间件 数据库 分布式架构 必须掌握的工具软件 学习资源 ...

  5. 零基础学软件测试需要学什么?附全套学习路线图+课程

    零基础学软件测试需要学什么?对于初学者应该有一个系统的认知,需要学习测试基础.Linux和数据库.功能测试.Python编程.WEB自动化测试.移动端自动化测试.接口测试.性能测试等相关知识.接下来我 ...

  6. c语言的学生理系统,C语言学习系统的教程

    完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题.网站新增了"软件百科"."锦囊妙技&q ...

  7. 笨办法学python3_软件测试需要学什么(个人软件测试学习路线)

    快转正啦,要写转正评审ppt,顺带就总结了下个人学习路线,仅供参考.初学者不要看晕了,学完基础就可以找实习啦,其他的慢慢来~ 先附上xmind,简洁明了 1.长期学习软件测试理论 其中包括测试方法熟练 ...

  8. 小孩子爱玩手机学计算机编程好吗,学习编程教育对孩子的哪些重要意义

    目前,国内外对科技教育的重视是编程教育趋热的重要动因.在国外,创客教育及STEAM已成为其素质教育的核心,编程.3D打印.机器人等新技术也已走进了的中小学校.甚至,连美国前总统奥巴马也曾参与" ...

  9. 《零基础学JavaScript(全彩版)》学习笔记

    <零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...

最新文章

  1. 读取mysql数据库的数据,转为json格式
  2. SPDK,软件定义存储的催化剂
  3. 数仓和mysql的区别_数据库和数据仓库的区别和联系
  4. crontab周期性任务计划
  5. 32通过rs485烧写程序_28027芯片sci程序烧写问题请教
  6. 一文读懂区块链以及一个区块链的实现
  7. webpack4下import()模块按需加载,打包按需切割模块,减少包体积,加快首页请求速度...
  8. RestTemplate使用笔记
  9. 江苏技术师范学院大学机房管理系统[.NET项目]
  10. 动态加载jar包(一)
  11. JAVA集合系列(6):HashMap
  12. 微信群裂变不起来怎么办?
  13. ggplot2|详解八大基本绘图要素,你需要的都在这-目录版
  14. linux系统怎样进入图形界面,Linux系统中如何切换图形界面与字符界面
  15. javascript成神之路(1):如何编写高质量的js代码
  16. mysql求回购率_SQL-- 用户行为(复购率、回购率等)
  17. js 一串数字1403149534转换为日期格式
  18. 精通CSS+DIV网页样式与布局--页面背景
  19. 河南科技学院教务管理系统服务器,河南科技学院教务管理系统http://jwgl.hist.edu.cn/jwweb/...
  20. java图片文字自动识别

热门文章

  1. 最好理解的: spring ioc原理讲解,强烈推荐!
  2. C#题目及答案(1)
  3. 第 6 章 —— 装饰模式
  4. iis6.0与asp.net的运行原理
  5. ubuntu 软件包降级
  6. Socket编程实践(3) 多连接服务器实现与简单P2P聊天程序例程
  7. 网络编程项目(聊天室项目)
  8. Spring Boot入门(9)网页版计算器
  9. N1CTF 塞题vote分析
  10. Spring-data-jpa常用方法