JAVA WEB DAY 09_MYSQL 基础语法

MYSQL 基础语法

目标

  • 能够理解数据库的概念
  • 能够安装MySQL数据库
  • 能够启动,关闭及登录MySQL
  • 能够使用SQL语句操作数据库
  • 能够使用SQL语句操作表结构
  • 能够使用SQL语句进行数据的添加修改和删除的操作
  • 能够使用SQL语句进行排序
  • 能够使用聚合函数
  • 能够使用SQL语句进行分组查
  • 能够使用SQL语句添加主键、外键、唯一、非空约束

01_数据库概述-[★★★]

数据库:

  • 存储数据的仓库

数据库的作用:

  • 方便对数据进行增删改查操作:使用SQL语句进行数据操作

数据库的类型

  • 关系型数据库:MySQL、Oracle 数据存储在一张二维表中
  • 非关系型数据:Redis…

02_数据库安装与卸载-[★★★]

  • 未完成

03_MySQL目录结构-[★]

│-- bin:存在MySQL相关的可执行文件
│-- MySQLInstanceConfig.exe:启动配置向导
│-- data:存储MySQL默认自带数据库
│-- include:存储MySQL运行需要C语言头文件
│-- lib:存储C++动态链接库
│-- my.ini:MySQL核心配置文件

04_数据库服务器启动和停止-[★★★]

启动MySQL数据库服务器

  • 方式1:通过服务列表 --> 找到MySQL服务 --> 右键 --> 启动
  • 方式2:以管理员身份打开DOS窗口输入命令:net start mysql

停止MySQL数据库服务器

  • 方式1:通过服务列表 --> 找到MySQL服务 --> 右键 --> 停止
  • 方式2:以管理员身份打开DOS窗口输入命令:net stop mysql

05_数据库登录和退出-[★★★]

  • 能够通过控制台登录和退出数据库
  • 登录数据库语句格式
登录数据库语句格式
mysql -u用户名 -p密码
mysql -u用户名 -p密码 --host=主机IP --port=端口号
mysql -u用户名 -p端口号 -h主机ip -p密码
退出数据库语句格式 说明
quit/exit 退出服务器

06_数据库服务器、数据库和表的关系-[★★★]

数据库服务器与数据库的关系:

  • 一对多:一个数据库服务器可以创建n个数据库,一般一个项目对应一个数据库

数据库与表的关系:

  • 一对多:一个数据库下可以创建n张表

07_实体类与表的对应关系-[★★]

  • 一个实体类就对应一张数据表
  • 一个实体类对象就对应数据表的一条记录
  • 实体类的一个成员变量就对应数据表的一个字段

08_SQL 概述-[★★★]

SQL 概述:

  • Structrue Query Language
  • 结构化查询语言

SQL 作用:

  • 对数据库进行操作(创建库,删除库,创建表,删除表,增删改查表单数据)
  • SQL语句分类
SQL语句分类 说明
DDL Data Define Language
数据定义语言
用于创建数据库,数据表等操作
关键字:create、drop…
DML Data Manipulation Language
数据操作语言
用于对数据表数据进行增删改操作
关键字:insert/update/delete
DQL Data Query Language
数据查询语言
用于对数据进行查询操作
关键字:select/show
DCL(了解) Data Control Language
数据控制语言
用于创建用户,删除用户,给用户分配权限等操作
关键字:grant/removke
  • SQL 语法
    1.每条 SQL 语句以分号结尾
    2.关键字不区分大小写,推荐使用大写
    3.注释的分类
     3.1单行注释
      # 注释内容:MySQL 特有的注释
      - - 注释内容(所有数据库共有的注释)
     3.2多行注释
      /*
      注释内容
      */

09_DDL 语句-操作数据库-[★★★★]

  • DDL 语句操作数据库
DDL语句操作数据库 语法
创建数据库 create database 数据库名;
查看所有数据库 show databases;
查看某个数据库的定义信息 show create database 数据库;
修改数据库的字符集 alter database 数据库名 default character set 码表;
删除数据库 drop database 数据库名;
查看正在使用的数据库 select database();
使用数据库 use 数据库名;
  • 示例
# 创建数据库
create database 数据库名;
-- 直接创建数据库db1
create database db1;

-- 判断是否存在,如果不存在则创建数据库db2  
create database if not exists db2;

-- 创建数据库并指定字符集为gbk
create database 数据库名 default character set gbk;

# 查看数据库
-- 查看所有的数据库
show databases;

-- 查看某个数据库的定义信息
show create database 数据库名;

# 修改数据库编码
alter database 数据库名 default character set 码表;
-- 将db3数据库的字符集改成utf8
alter database db3 default character set utf8;

# 删除数据库
drop database 数据库名;
-- 删除db2数据库
drop database db2;

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

-- 使用db1数据库
use db1;

10_SQLyog 工具安装和使用-[★★★]

  • 未完成

11_MySQL 数据类型-[★★]

  • MySQL 常用数据类型
类型 描述
int 整型
double 浮点型
varchar 字符串型
data 日期类型:格式:yyyy-MM-dd,只有年月日,没有时分秒
  • MySQL 数据类型
分类 类型名称 说明
整数类型 tinyInt 微整型 byte 很小的整数,占1个字节
smallint 小整型 short 小的整数,占2个字节
mediumint 中整型 中等大小的整数,占3个字节
int(integer) 大整型 普通大小的整数,占4个字节
小数类型 float 单精度浮点数,占4个字节
double 双精度浮点数,占8个字节
decimal(m,d)m=5 d=2 小数,m表示数长度,n表示小数的位数
日期类型 time HH:MM:SS
date YYYY-MM-DD
datetime YYYY-MM-DD HH:MM:SS
文本、二进制类型 CHAR(M) char(10) 定长字符串,M为0~255之间的整数
VARCHAR(M) varchar(10) 可变字符串,M为0~65535之间的整数
TINYBLOB 允许长度0~255字节
Binary Large Object
二进制大对象
BLOB 允许长度0~65535字节
MEDIUMBLOB 允许长度0~167772150字节
LONGBLOB 允许长度0~4294967295字节
TINYTEXT 允许长度0~255字节
大文本数据 TEXT 允许长度0~65535字节
MEDIUMTEXT 允许长度0~167772150字节
LONGTEXT 允许长度0~4294967295字节
VARBINARY(M) 允许长度0~M个字节的变长字节字符串
BINARY(M) 允许长度0~M个字节的定长字节字符串

12_DDL 语句-操作数据表-[★★★★]

  • DDL语句操作数据表
DDL语句操作数据表 语法
创建数据表 create table 表名(字段名1 数据类型,…);
查看数据库所有表 show tables;
查看表结构 desc 表名;
查看创表语句 show create table 表名;
复制表(只复制结构,不复制数据) create table 新表名 like 旧表名;
删除表 drop table 表名;
判断表是否存在,存在则删除 drop table if exists 表名;
  • 示例
-- 创建 day09 数据库
create database day09;

use day09;

# 创建表语句
/*
create table 表名(
	字段名1  数据类型,
	字段名2  数据类型,
	 .....
	 字段名n 数据类型   -- 最后一个不能有逗号
);*/
-- 创建 student 表包含 id,name,sex, birthday
create table student(
	id int,
	name varchar(20),
	sex char(1),
	birthday date  -- 最后一个不能有逗号
);
# 查看表:show tables;
-- 查看day09数据库中的所有表
show tables;

-- 查看student表的结构
desc 表名;
desc student;

-- 查看student的创建表SQL语句
show create table student;
CREATE TABLE `student` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` char(1) DEFAULT NULL,
  `birthday` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

# 复制表
-- 创建s1表,s1表结构和student表结构相同
create table s1 like student;

# 删除表
-- 直接删除 s1 表
drop table s1;
-- 判断表是否存在并删除 s1 表
drop table if exists s1;

13_DDL 语句-修改表结构-[★]

  • DDL 语句修改表结构
DDL语句修改表结构 语法
添加表列 alter table 表名 add 字段名 数据类型;
修改列类型 alter table 表名 modify 字段名 数据类型;
修改列名和类型 alter table 表名 change 旧字段名 新字段名 数据类型;
删除列 alter table 表名 drop 字段名;
修改表名 rename table 旧表名 to 新表名;
修改表字符集 alter table 表名 default character set 码表;
  • 示例
# 添加列:add
-- 为学生表添加一个新的字段remark,类型为varchar(20)
-- 一次添加一列
alter table student add remark varchar(20);
-- 一次添加两列
alter table student add a int, add b int;
desc student;

# 修改列类型:modify
-- 将student表中的remark字段的改成varchar(100)
alter table student modify remark varchar(100);
desc student;

# 修改列名和类型:change
-- 将student表中的remark字段名改成intro,类型varchar(30)
alter table student change remark intro varchar(30);
desc student;

# 删除列:drop
-- 删除student表中的字段intro
alter table student drop intro;
alter table student drop a, drop b;
desc student;

# 修改表名:rename 
-- 将学生表student改名成student2
rename table student to student2;

# 修改表字符集
-- 将sutden2表的编码修改成gbk 
alter table student2 default character set gbk;
show create table student2;
CREATE TABLE `student2` (
  `id` int(11) DEFAULT NULL,
  `name` 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值