- JavaWeb
- 数据库的基本概念
- MySQL数据库软件
- SQL
- DDL:操作数据库,表
- 什么是javaweb?
使用java语言开发互联网项目,简单理解,使用jvaa语言来开网站
数据库的基本概念- 数据库的英文单词:datebase 简称DB
- 什么是数据库?
用于存储和管理数据的仓库
-
数据库的特点
-
此句话存数据的。其数据库就是一个文件系统
-
方便存储和管理数据
-
使用了统一的方式操作数据库–SQL
-
安装
-
卸载
- 去mysql的安装目录找到my.ini文件
- 复制 datadir=“C:/ProgramData/MySQL/MySQL Server 5.5/Data/”
-
卸载MySQL
-
删除C:/ProgramData目录下的MySQL文件夹
-
配置
- MySQL服务启动
-
手动。
-
cmd–> services.msc 打开服务的窗口
-
使用管理员打开cmd
- net start mysql : 启动mysql的服务
- net stop mysql:关闭mysql服务
-
- MySQL登录
- mysql -uroot -p密码
- mysql -hip -uroot -p 连接目标的密码
- mysql – host=ip --user=root --password =连接目标的密码
- mySQL退出
- exit
- quit
-
MySQL目录结构
1. MySQL安装目录:basedir="D:/develop/MySQL/" * 配置文件 my.ini 2. MySQL数据目录:datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" * 几个概念 * 数据库:文件夹 * 表:文件 * 数据:数据
- 什么是SQL?
Structured Query Language :结构化查询语言
其实就是定义了操作所有关系型数据库的规则,每一种数据库的操作方式存在不一样的地方,称为“方言”
- SQL通用语法
-
SQL 语句可以单行或者多行书写,以分号结尾
2. 可以使用空格和缩进来增强语句的可读性 3. MySQL 数据库的SQL 语句不区分大小写,关键字建议使用大写 4. 3 种注释 :单行注释: -- 注释内容 或者 # 注释内容 (mysql)特有
多行注释:
- SQL分类
-
DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
-
DML(Data Manipulation Language)数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等 -
DQL(Data Query Language)数据查询语言
用来查询数据库中表的记录(数据)。关键字:select, where 等 -
DCL(Data Control Language)数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等
-
操作数据库:CRUD
1. C(Create):创建
创建数据库:create database 数据库名称;
创建数据库,判断不存在,在创建:create database if not exists 数据库名称;
创建数据库,并指定字符集: create database if not exists 数据库名称 character 字符集名;
练习:创建db4数据库,判断是否穿在,并制定字符集为gbk: create database if not exists db4 character gbk;
- R(Retrieve):查询
查询所有数据库的名称:show databases;
查询某个数据库的字符集;查询某个数据库的创建语句
show create database 数据库名称;
- (Updata)修改
修改数据库的字符集: alter database 数据库名称 character set 字符集名;
- D(Delete):删除
删除数据库: drop database 数据库名;
判断数据库是否存在,存在再删除: drop database if exists 数据库名;
- 使用数据库
查询当前正在使用的数据库名称:select database();
使用数据库: use 数据库名称;
- 操作表
1.C(Create):创建
create table 表名(列名1 数据类型1,列名2,数据类型2,…列名n 数据类型n);
注意:最后一列,不需要加逗号
数据库类型:
1. int :整数类型 :age int
-
double:小数类型:score double(5,2)
-
date:日期,质保函年月日 yyy-MM-dd
-
datetime:日期:包含年月日时分秒 yyyy-MM-dd hh:mm:ss
-
timetamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd hh:mm:ss, 如果将来不给这个字段赋值或赋值为null,则默认使用当前的系统时间,来自动赋值
-
varchar:字符串,name varchar(20),姓名最大20个字符串,zhangsan: 8个字符 张三 两个字符
create table student(id int,name varchar(32),age int,score double(4,1),birthday date,insert_time timestamp);
复制表:create table 表名 like 被复制的表名;
- Retrieve):查询
查询某个数据库中所有表的名称:show tables;
查询表结构:desc 表名;
-
U(Update):修改
1. 修改表名: alter table 表名t rename to 新表名; 2. 修改表的字符集:alter table 表名 character set 字符集名; 3. 添加一列:alter table 表名 add 列名 数据类型; 4. 修改列名称 类型:alter table 表名 change 列名 新列名 新数据类型
alter table 表名 modify 列名 新数据类型;:
-
删除列:alter table 表名称 drop 列名称;
-
D(Delete):删除:drop tbale 表名; drop table if exist 表名;



