(1)Java Web学习之Mysql数据库

数据库基本概念

Mysql
数据库:是存储管理数据的“仓库”,可持久化的存储数据。为什么要用数据库来存储数据呢?因为数据库用了统一的方式去管理。

目录结构


数据库在电脑中的表示为:文件夹,而表则是文件,文件中的内容则是我们的数据

Mysql的配置\安装\卸载\启动\退出问题

mysql的下载 配置 安装 卸载

启动数据库

以管理员身份打开cmd -> 输入:net start mysql

关闭数据库

在所打开的cmd窗口中输入:net stop mysql

登录数据库

启动数据库后 输入:mysql -uroot -p
后输入自己之前设置的密码
ps:这种方法是登录本地的数据库,假如要登录别人的数据库:mysql -h一个ip地址 -uroot -p密码

退出数据库

输入语句:exit/quit

SQL

SQL基本概念

定义了操作所有关系型数据库的规则。因为数据库的不同,我们操作数据库的方式也会因此而不同

SQL的通用语法:

1.SQL语句可以单行/多行书写,以分号结尾。
2.可以使用空格或者缩进 不会有影响。
3.SQL语句是不区分大小写的 关键字最好大写 养成良好习惯。
4.三种注释:-- 注释内容
# 注释内容
/* 注释内容 */

SQL的分类:
  1. DDL(Data Definition Language)数据定义语言
    用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter,show 等
  2. DML(Data Manipulation Language)数据操作语言
    用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
  3. DQL(Data Query Language)数据查询语言
    用来查询数据库中表的记录(数据)。关键字:select, where 等
  4. DCL(Data Control Language)数据控制语言(了解)
    用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等
DDL(数据定义语言):操作数据库、表

1. 操作数据库:CRUD

1. C(Create):创建
创建数据库:
1)create database 数据库名称;
2)创建数据库,判断不存在,再创建:
create database if not exists 数据库名称;
* 创建数据库,并指定字符集
* create database 数据库名称 character set 字符集名;
2. R(Retrieve):查询
* 查询所有数据库的名称:
show databases;
1)information_schema——没显示的“information_schema”是用来描述数据库里面信息的,比如有哪一些表,哪一些库的名字。它里面存放的其实是视图,所以这个数据库并不存在真正对应的物理文件。
2) mysql——MySQL的核心数据库,存放了很多MySQL核心表文件
3)performance_schema——对MySQL性能进行提升的数据库,里面同样有很多表。
——以上3个数据库尽量不要动它
4)test——空数据库,一般我们也不会使用这个数据库,而会自己新建数据库使用。
* 查询某个数据库的字符集:查询某个数据库的创建语句
* show create database 数据库名称;
eg:show create database mysql; ——查询创建数据库mysql的语法(可以间接查看数据库的字符集)
3. U(Update):修改
* 修改数据库的字符集
* alter database 数据库名称 character set 字符集名称;
4. D(Delete):删除
* 删除数据库
* drop database 数据库名称;
* 判断数据库存在,存在再删除
* drop database if exists 数据库名称;(同样是为了防止删除不存在的数据库)
5. 使用数据库(我们现在处于数据库的数据目录,如果想操作某一个数据库,必须进入这个数据库里面)
* 查询当前正在使用的数据库名称
* select database();(注意database后加括号)
* 使用数据库
* use 数据库名称;(注意这里不需要再加database)这个命令相当于进入到数据库文件夹里面去。

2、操作表的CURD

1. C(Create):创建
1. 语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,

列名n 数据类型n
);
注意:最后一列,不需要加逗号(,)
* 数据库类型:
1. int:整数类型(32位)
* age int,
----------------------------
2. double:小数类型(8字节64位)
* score double(5,2):解释:小数一共有5位,小数点后面占2位
----------------------------
3. date:日期,只包含年月日,yyyy-MM-dd
----------------------------
4. datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
----------------------------
5. timestamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
* 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
----------------------------
6. varchar(m):可变长度的字符串,使用几个字符就占用几个,m为 0~65535 之间的整数(注意这里指定的是字符,而不是字节)
* name varchar(20):姓名最大20个字符
* zhangsan 8个字符 张三 2个字符
* 创建表
create table student(
id int,
name varchar(32),
age int ,
score double(4,1),
birthday date,
insert_time timestamp
);
* 复制表:
* create table 表名 like 被复制的表名;
* 2. R(Retrieve):查询
* 查询某个数据库中所有的表名称
* show tables;
* 查询表结构 (这一句只是查询表的结构,最终显示的是表各列的名字,数据类型等属性,并不能查看表中存储的具体数据,想查看表中存储的具体数据,需要使用DML的“SELECT * FROM 表名;”语句)
* desc(description) 表名;(注意在查询表结构的时候不需要写table,与使用数据库 use 数据库名称 类似)
3. U(Update):修改
修改 (如果要对列进行修改,必须先用alter选择要操作的表,因为表与列的所有操作都是基于表。并且,对列进行修改,只是改变列的结构,并不是修改列中的数据)
1. 修改表名
alter table 表名 rename to 新的表名;
这一句也可以写作:RENAME TABLE 表名 TO 新表名;
2. 修改表的字符集
alter table 表名 character set 字符集名称;(查看表的字符集 show create table 表名,实际上这句的功能是“查询某个表创建语句”)
3. 添加一列
alter table 表名 add 列名 数据类型;
4. 修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;(这个用来将一列换为新的一列)
alter table 表名 modify 列名 新数据类型;(这个用来修改一列的数据类型)
5. 删除列
alter table 表名 drop 列名;(注意删除列与删除数据库和删除表不同,必须先用alter选择要操作的表,因为列的所有操作都是基于表;同样,删除列与下面删除列的数据delete也不同)
4. D(Delete):删除
* drop table 表名;
* drop table if exists 表名 ;

SQL全部的数据类型如下:
在这里插入图片描述

参考:黑马就业班

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值