文章目录
- JavaWeb
- 数据库的基本概念
- MySQL数据库软件
- SQL
- DDL:操作数据库,表
JavaWeb
- 什么是javaweb?
使用java语言开发互联网项目,简单理解,使用jvaa语言来开网站
数据库的基本概念
- 数据库的英文单词:datebase 简称DB
- 什么是数据库?
用于存储和管理数据的仓库
- 数据库的特点
- 此句话存数据的。其数据库就是一个文件系统
- 方便存储和管理数据
- 使用了统一的方式操作数据库–SQL
MySQL数据库软件
- 安装
- 卸载
- 去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
- 什么是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 等
DDL:操作数据库,表
- 操作数据库: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 表名;