目录
数据查询语言 DQL (查询表数据 select from)
1 数据库介绍
-
数据库概念
-
存储数据的仓库,本质上是一个文件系统
-
-
数据库分类
-
关系型数据库(二维表格)
-
mysql
-
oracle
-
sql server
-
sqlite
-
-
非关系型数据库
-
redis
-
hbase
-
mongodb
-
-
2 mysql数据库
-
关系型数据库中的一种
-
mysql如何登录和退出终端
# 方式一
mysql -uroot -p123456
mysql -uroot -p(回车+密码)
# 方式二
mysql --host=ip地址 --user=root --password=123456
# 退出mysql
quit/exit/ctrl+d
3 sql语句
-
sql语句是结构化查询语言
-
mysql,oracle,...是遵循sql语句规范
-
sql语句分类
-
数据定义语言 DDL (创建库,创建表,修改表结构)
-
数据操作语言 DML (插入,删除,更新)
-
数据查询语言 DQL (查询表数据 select from)
-
数据控制语言 DCL (创建用户,修改权限)
-
-
sql通用语法
-
sql可以单行或多行编写,以分号结尾(英文状态下的标点符号)
-
sql语句的关键字不区分大小写,建议大写
-
注释: 解释说明, 被注释的内容是不会被执行的
-
单行注释: # + 内容 ctrl + /
-
多行注释: /**/ shift+ ctrl + /
-
-
代码规范书写快捷键: ctrl + alt+ l
-
4 sql数据类型
-
数据有不同的类型格式, 数据库查询和计算更加高效
-
数值类型
-
整数
-
tinyint
-
int
-
bigint
-
-
浮点(小数)
-
float
-
double
-
decimal(5, 2) -> 一共有5位,小数占2位 123.45
-
-
-
字符串类型
-
中文和字母一定是字符串类型 通过引号引起来的值
-
char: 定长字符串 -> char(3) 'a ', 数据长度一定是3位,不满3位用空格填充 手机号 身份证号
-
varchar: 变长字符串 -> varchar(10) 数据最大长度为10位,可以比10小
-
text: 大文本类型
-
-
日期和时间类型
-
date: 年月日 (YYYY-MM-DD)
-
time: 时分秒 (HH:MM:SS)
-
year: 年
-
month: 月
-
datetime: 年月日时分秒
-
timestamp: 时间戳
-
5 DDL语言
创建数据库
# 创建数据库
create database 数据库名字;
# 创建数据库,不发生报错
create database if not exists 数据库名字;
# 创建数据库,指定字符集 utf8->出现中文,不会发生乱码情况
create database if not exists 数据库名字 charset='utf8';
create database if not exists 数据库名字 character set'utf8';
# 使用数据库
use 数据库名字;
# 查看mysql中数据库
show databases;
# 查看当前使用的数据库
select database();
# 删除数据库
drop database 数据库名字;
# 创建数据库 bigdata_db
# 如果数据库已经存在,再次执行会报错
CREATE DATABASE bigdata_db;
# if not exists,如果数据库不存在就会创建,存在就不再创建
CREATE DATABASE IF NOT EXISTS bigdata_db;
# 创建数据库,指定数据库的字符集为utf8, 不指定utf8,存储中文时会出现乱码情况
CREATE DATABASE IF NOT EXISTS bigdata_db CHARSET = 'utf8';
CREATE DATABASE IF NOT EXISTS bigdata_db CHARACTER SET 'utf8';
# 查看数据库
SHOW DATABASES;
# 使用数据库
USE bigdata_db;
# 查看当前使用的数据库
SELECT DATABASE();
# 删除数据库
DROP DATABASE bigdata_db;
表操作
# 创建表category
CREATE TABLE IF NOT EXISTS categroy
(
cid VARCHAR(10) PRIMARY KEY NOT NULL, # 类别id
cname VARCHAR(100) # 类别名称
);
# 查看当前数据库中有多少张表
SHOW TABLES;
# 查看表结构
DESC categroy;
# 查看建表语句
SHOW CREATE TABLE categroy;
# 删除表
DROP TABLE categroy;
表结构操作
# 修改表结构-添加字段
# desc是关键字,如果关键字作为字段名,需要通过 `` 指定
# 字段名是普通的名字,不需要通过 `` 指定
ALTER TABLE categroy ADD `desc` VARCHAR(10);
# 在category表中添加num字段,类型为变长字符串,长度最长为20个字符
ALTER TABLE categroy ADD num VARCHAR(20);
# 修改表中字段名
ALTER TABLE categroy CHANGE `desc` description VARCHAR(30);
# 删除表中字段名
ALTER TABLE categroy DROP description;
# 修改表名
RENAME TABLE categroy TO category2;
ALTER TABLE category2 RENAME TO category3;
6 DML语言
# 向表中插入数据
# 指定表中字段插入数据
INSERT INTO
category3 (cid, cname)
VALUES
('c001', '电器');
# 表中所有字段插入数据 -> 表名后边不跟字段,表示对所有字段插入数据
INSERT INTO
category3
VALUES
('c002', '服饰', '2');
# 一次性插入多条数据
INSERT INTO
category3 (cid, cname)
VALUES
('c003', '书籍'),
('c004', '笔记本');
DESC category3;
INSERT INTO
category3
VALUES
('c005', '玩具', 5),
('c006', '蔬菜', 6),
('c007', '化妆品', NULL);