MySQL数据库_Day01
为什么要学习数据库:为了 更方便对开发中的数据进行管理
数据库(Database) 简称DB
用于存储和管理数据的仓库
存储空间很大 使用统一的方式操作数据库----SQL
数据库软件(数据库管理系统)
MySQl是最流行的关系型数据库管理系统之一(关系型数据库将数据保存在不同的数据表中,表与表之间可以有关联关系,这样就提高了访问速度以及提高了灵活性)
数据库存储数据特点
1.持久化的方式存储
2.方便的对数据进行存储和管理
3.数据库采用统一的语言SQL进行操作
MySQl的体系结构
数据库数据表 数据的关系
SQL语言(Structured Query Language):结构化查询语言 操作所有关系型数据库的标准
通用语法规则
SQL通用语法SQL 语句可以单行或多行书写,以分号结尾。
可使用空格和缩进来增强语句的可读性。
MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
数据库的注释:
单行注释:-- 注释内容 #注释内容(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
DDL操作数据库
#查询所有数据库
SHOW DATABASES;
#查询某个数据库的创建语句
SHOW CREATE DATABASE mysql;
#创建数据库db1
CREATE DATABASE db1;
– 创建数据库判断不存在再创建
CREATE DATABASE IF NOT EXISTS db2;
– 创建数据库db3 并指定字符集utf-8
CREATE DATABASE db3 CHARACTER SET UTF8;
创建db4数据库 如果不存在 则创建 指定字符集3
CREATE DATABASE IF NOT EXISTS db4 CHARACTER SET gbk;
DDL-操作数据表
常用的数据类型:
- int:整数类型
- double:小数类型
- date:日期,只包含年月日 yyyy-MM-dd
- datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
- timestamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
- 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
- varchar:字符串
- name varchar(20):姓名最大20个字符
- zhangsan 8个字符 张三 2个字符
#修改数据库(修改字符集)
ALTER DATABASE db4 CHARACTER SET gbk;
#查看db4数据库的创建语句
SHOW CREATE DATABASE db4;
#删除数据库
DROP DATABASE db1;
#删除数据库 判断是否存在 如果存在就删除 不存在报错
DROP DATABASE IF EXISTS db1;
#使用数据库db4;
USE db4;
#查看当前使用的数据库
SELECT DATABASE();
#使用mysql数据库
USE mysql;
#查询所有的数据表
SHOW TABLES;
#查询表结构
DESC db;
#查询数据表的字符集
SHOW TABLE STATUS FROM mysql LIKE ‘db’;
#创建数据表
CREATE TABLE kuizai(
username VARCHAR(20),
PASSWORD INT,
money INT
);
#查看kuizai表的详细结构
DESC kuizai;
#修改数据表
#修改表中列的名称和数据类型
ALTER TABLE kuizai CHANGE username NAME INT;
#修改表名称
ALTER TABLE 表名 RENAME TO 新的表名;
#删除数据表
DROP TABLE kuizai;
#删除数据表 判断是否存在 存在就删除 不存在报错
DROP TABLE IF EXISTS kuizai;
DML:
作用:对表中的记录进行增,删,改;
记录:表中存储数据的基本单元
新增表数据
#给指定列添加数据
#给记录的部分字段指定数据 如果没有指定字段的数据默认值为null
INSERT INTO 表名(列名1,列名2)VALUES(值1,值2);
INSERT INTO kuizai(username,PASSWORD,money)VALUES(‘魁仔真帅’,‘188’,100000);
#给全部列添加数据
INSERT INTO 表名VALUES(值1,值2);
INSERT INTO kuizai VALUES(‘渣渣辉’,520,1000);
#批量添加数据
INSERT INTO 表名(列名1,列名2)VALUES(值1,值2…)(值1,值2…);
INSERT INTO 表名VALUES(值1,值2)(值1,值2);
#列名和值的数量以及数据类型都要对应,除了数字类型,其他数据类型的数据都需要添加引号(单引双引)都可以,推荐单引
修改数据
#修改表中的数据
UPDATE 表名 SET 列名1=值1,列名2=值2,…[WHERE条件];
#将kuizai表中username=0