MySQL数据库相关知识
数据库的基本概念
-
数据库的英文单词 : DataBase 简称 : DB
-
什么是数据库?
- 用于存储和管理数据的仓库
-
数据库的特点
- 持久化存储数据的,其实数据库就是一个文件管理系统
- 方便存储和管理数据
- 使用了统一的方式操作数据库 – SQL
-
常见的数据库软件
- MySQL : 开源免费的数据库,小型的数据库,已经被Oracle收购了,MySQL6.x版本也开始收费
- Oracle : 收费的大型数据库,Oracle公司的产品,Oracle收购SUN公司,收购MySQL.
- DB2 : IBM公司的数据库产品,收费的,常用在银行系统中
- SQLServer : Microsoft 公司收费的中型的数据库,C#,.net等语言常使用
- SyBase : 已经淡出历史舞台,提供了一个非常专业的建模工具PowerDesigner
- SQLLite: 嵌入式的小型数据库,应用在手机端.
MySQL数据库软件
SQL
- 什么是SQL?
概念: Structured Query Language : 结构化查询语言
其实就是定义了操作所有关系型数据库的规则,每一种数据库操作的方式存在不一样的地方,称为方言. - SQL通用语法
- SQL语句可以以单行或者多行书写,以分号结尾.
- 可使用空格和缩进来增强语句的可读性.
- MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写.
- 三种注释
- 单行注释 : – 注释内容 或 # 注释内容
- 多行注释 : /* 注释内容 */
- SQL分类:
- DDL(操作数据库,表) : create , drop , alter 等
- DML(增删改表中的数据):insert ,delete ,update 等
- DQL(查询表中的数据) : select ,where
- DCL(授权) : grant , revoke 等
DDL : 操作数据库,表
- 操作数据库 : CRUD
- C(Create) : 创建
- 创建db1数据库,判断是否存在,并指定字符集为gbk/utf-8
- create db1 if not exists character set gbk/utf-8;
- 创建db1数据库,判断是否存在,并指定字符集为gbk/utf-8
- R(Retrieve) : 查询
- 查询素有数据库的名称
- show databases;
- 查询某个数据库的字符集 : 查询某个数据库的创建语句
- show create database 数据库名称.
- 查询素有数据库的名称
- U(Update) : 修改
- 修改数据库的字符集 : alter 数据库 character set utf8/gbk;
- D(Delete) : 删除
1.判断数据库,存在再进行删除 : drop database if exists 数据库名称 - 使用数据库
- use database 数据库名称.
- C(Create) : 创建
- 操作表 : CRUD
- C(Create) : 创建
- 语法 :
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
…
列名n 数据类型n
)
create table tab1 like tab2; - 数据类型
- int : 整数类型
- double : 小数类型
- date : 日期,只包含年月日, yyyy-MM-dd
- datetime : 日期,包含年月日时分秒 yyyy-MM-dd HH-mm-ss
- timestamp: 包含年月日时分秒 yyyy-MM-dd HH-mm-ss, 如果将来不给这个字段赋值,或者赋值为null,则默认使用当前的系统时间来自动填充.
- varchar : 字符串类型(20)
- 创建表
create table student(
name varchar(20),
age int,
gender varchar(10),
birthday timestamp,
score double(4,1)
);
- 语法 :
- R(Retrieve) : 查询
- 查询某个数据库中所有的表名称
- show tables
- 查询表结构
- desc 表名
- 查询某个数据库中所有的表名称
- U(Update) : 修改
- 修改表名
alter table 表名 rename to 新的表名
- 修改表名
- C(Create) : 创建