数据库分类;操作数据库

数据库分类

关系型数据库:(SQL)

  • MySQL,Oracle,Sql Server,DB2,SQLlite
  • 通过表和表之间,行和列之间的关系进行数据的存储,学员信息表,考勤表。。

非关系型数据库:(NoSQL) Not Only

  • Redis,MongDB
  • 非关系型数据库,对象存储,通过对象的自身的属性来决定

DBMS(数据库管理系统)

  • 数据库的管理软件,科学有效的管理我们的数据。维护和获取数据;
  • MySQL,数据库管理系统

MySQL简介

MySQL是一个关系型数据库管理系统
MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一。
开源的数据库软件

连接数据库

命令行连接数据库

mysql -uroot -p123456  --连接数据库

----------------------------------------
所有的语句都使用;结尾
show databases;  --查看所有的数据库

mysql>use school  --切换数据库 use 数据库名
Database changed

show tables; -- 查看数据库中所有的表
describe student; -- 显示数据库中表的信息
create database bai; --创建一个名称为bai的数据库
exit; --退出连接
-- 单行注释
/*
多行注释
*/

** 数据库xxx语言**
DDL 定义
DML 操作
DQL 查询
DCL 控制

2.1操作数据库

操作数据库>操作数据库中的表>操作数据库中表的数据

mysql关键字不区分大小写

  1. 创建数据库 create
CREATE DATABASE school;
为了以防万一可以写
CREATE DATABASE IF NOT EXISTS school;
  1. 删除数据库 drop
DROP DATABASE IF EXISTS school
  1. 使用数据库 use
-- tab键上面的,如果你的表明或者字段名是一个特殊字符,就需要带
USE school
  1. 查看数据库 show
SHOW DATABASES --查看所有数据库

2.2数据库的列类型

数值

  • tinyint 十分小的数据 1个字节
  • smallint 较小的数据 2个字节
  • int 标准的整形 4个字节 (常用的)
  • bigint 较大的数据 8个字节
  • float 浮点数 4个字节
  • double 浮点数 8个字节
  • decimal 字符串形式的浮点数 金融计算的时候,一般使用decimal

字符串

  • char 字符串固定大小的 0~255
  • varchar 可变字符串 0~65535 (常用的)string
  • tintext 卫星文本 2^8-1
  • text 文本串 2^16-1 (保存大文本)

时间日期

java.util.Data

  • data YYYY-MM-DD 日期格式
  • time HH:MM:SS 时间格式
  • datatime YYYY-MM-DD HH:MM:SS (最常用的时间格式)
  • timestamp 时间戳,1970.1.1到现在的毫秒数!
  • year 年份表示

null

  • 没有值,未知
  • 注意 不要使用NULL 进行运算,结果为NULL

2.3数据库的字段属性(重点)

Unsigned:

  • 无符号的整数(只有类型为int类型 才能勾选)
  • 声明了该列不能为负数

zerofill

  • 0填充
  • 不足的位数,使用0填充,int(3),5 会变成 005

自增

  • 通常理解为自增,自动在上一条记录的基础上+1(默认)
  • 通常用来设计唯一的主键~index,必须是整数类型
  • 可以自定义设计主键自增的起始值

非空

  • 假设设置为not null,不赋值就会报错

默认

  • 设置默认的值

2.4创建数据库表

--注意点,使用英文(),标的名称和字段尽量使用` `括起来
-- 字符串使用单引号括起来!
-- 所有语句后面加,  最后一个不用加,

CREATE TABLE `student` (
`id`  int(4) NOT NULL AUTO_INCREMENT COMMENT '学号' ,
`name`  varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名' ,
`pwd`  varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码' ,
`sex`  varchar(2) NOT NULL DEFAULT '女' COMMENT '性别' ,
`birthday`  datetime NULL DEFAULT NULL COMMENT '家庭住址' ,
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

格式

CREATE TABLE [IF NOT EXISTS] `表名`(
   '字段名' 列类型 [属性] [索引] [注释],
   '字段名' 列类型 [属性] [索引] [注释],
   ...
   '字段名' 列类型 [属性] [索引] [注释]
) [表类型] [字符集设置] [注释]

逆向查看创建数据库的语句或者数据库表的语句

SHOW CREATE DATABASE school --查看创建数据库的语句
显示:
CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */

SHOW CREATE DATABASE student -- 查看创建表的语句
显示:
CREATE TABLE `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
  `sex` varchar(2) NOT NULL DEFAULT '女' COMMENT '性别',
  `birthday` datetime DEFAULT NULL COMMENT '家庭住址',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

DESC student --显示表的结构
显示:
在这里插入图片描述

2.5数据表的类型

-- 关于数据库引擎
/*
INNODB 默认使用
MYISAM 早些年使用的

InnoDB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件

设置数据库表的字符集编码

CHARSET=utf8 创表的时候加上

2.6修改表,删除表

-- 修改表名: ALTER TABLE 旧表名 RENAME  AS 新表名
ALTER TABLE student RENAME AS student1
-- 增加表的字段:  ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE student ADD age INT(11)
-- 修改表的字段(重命名,修改约束!)
-- ALTER TABLE 表名  MODIFY 字段名  列属性[]
ALTER TABLE student MODIFY age VARCHAR(11)  --修改约束
-- ALTER TABLE 表名  CHANGE 旧名字 新名字  列属性[]
ALTER TABLE student CHANGE age age1 INT(11)  --字段重命名
-- 删除表的字段: ALTER TABLE student DROP age1
ALTER TABLE student DROP age1



--删除表(如果表存在)
DROP TABLE IF EXISTS student

所有的创建和删除操作尽量加上判断,以免报错

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值