文章目录
1. 数据库的操作语言
增 删 改 查
mysql(数据库软件名字)
sqlyog(客户端功能)
sql语言(结构化查询语言)
● 结构化查询语言(Structured Query Language)简称SQL,是一种特殊 目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以 及查询、更新和管理关系数据库系统.
SQL优点:
① 不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL
② 简单易学
③ 实际上强有力的语言,灵活使用可以进行非常复杂和高级的数据库操作
(解释型脚本语言不需要编译)
按CTRL—S 保存
2. DDL
SQL 根据不同的功能,对sql语言进行了细分
● 数据(表结构)定义语言DDL(Data Definition Language)
是用于创建和修改数据库表结构的语言。
● 常用的语句:create(创建) ,alter(修改),drop(删除),rename(重命名)
创建数据库并设置编码格式
CREATE DATABASE [if not exists] 数据库名 [ CHARSET utf8]
删除数据库 DROP DATABASE 数据库名 / [IF EXISTS数据库名];
修改字符集 ALTER DATABASE 数据库名 CHARSET gbk;
1. 创建 删除 修改数据库
创建
#select * from student;
-- SELECT * FROM student;
/*
SELECT * FROM student;
*/
-- 脚本语言 不需要编译, 直接通过某种解释器解释执行
SELECT * FROM USER;
-- sql脚本
-- 创建数据库
CREATE DATABASE school_db;
CREATE DATABASE IF NOT EXISTS school_db;
CREATE DATABASE IF NOT EXISTS schoole_db CHARSET utf8;
删除
-- 删除数据库
DROP DATABASE schoole_db;
(选中之后,执行本条语句)删除了schoole_db 数据库
修改
数据库一旦被创建 不能修改名称
可以修改字符集
-- mysql不能修改数据库名称
-- 修改字符集
ALTER DATABASE school_db CHARSET gbk;
ALTER DATABASE school_db CHARSET utf8;
2. 表
数据库存储数据的特点
对象 不持久
表 持久
一行一条记录
● 将数据放到表中,表再放到库中
● 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有 唯一性。
● 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的 设计。
● 表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列 类似java中的”属性”
● 表中的数据是按行存储的,每一行类似于Java中的“对象”。
数据库表的基本概念
数据库表- 数据库基本存储单位
记录-- 一行信息
字段--存储哪个信息
设计表
设计数据库表
-
一个表中存储一类信息
-
学生信息表(学生基本信息)
-
表中字段
-
数据类型,长度
-
约束(添加数据限制)
数据类型
-
char(n) 长度为n个字符 定长 4 即使存储了1个字符也占4个长度
-
varchar(n) 最大长度为n 可变 10 实际存储了4个字符,长度就是4
-
date 年月日 日期
-
datetime 年月日 时分秒 时间
-
int
-
float(5,2) 3位整数,2位小数 总长是5位
-
double(5,2)
-
blob 大文本 存储图片,新闻 (目前了解)
base64图片转码
创建表
创建表语法:
-- 先创建一个基本的表 不涉及约束
-- 学生基本信息表 学号,姓名,性别,生日,身高,电话,登记时间
-- 用户表,角色... sys_user sys_role 通过不同前缀区分表是那个模块的
CREATE TABLE t_student(
num INT,
NAME VARCHAR(4),
sex CHAR(1),
birthday DATE,
height FLOAT(4,1),
phone CHAR(11),
register_time DATETIME
)
DROP TABLE t_student
选中 查询 刷新
表约束
表中的约束
-
主键约束 PRIMARY KEY 不能为空,不能重复, 一个表中只能有一个主键约束
不能为空约束 NOT NULL 一个表中可以有多个 -
唯一约束 UNIQUE 一个表中可以有多个
-
检查约束 设置条件 例如age>=18
-
外键约束 多表关联时使用
主键自动增长
AUTO_INCREMENT
默认值
DEFAULT default_value
字段注释:
comment ‘注释’
-- 学生基本信息表 学号,姓名,性别,生日,身高,电话,登记时间
/*
PRIMARY KEY 主键约束 不能为空,不能重复,一个表中只有一个唯一约束
AUTO_INCREMENT mysql主键自增(选填)自增列是主键类型是整数
2021010101
NOT NULL 不能为空
UNIQUE 唯一约束
CHECK(heigtht>100.0) 检查约束
DEFAULT'男' 默认值
*/
CREATE TABLE t_student(
num INT PRIMARY KEY AUTO_INCREMENT COMMENT'学号 主键',
NAME VARC