一、SQL语言分类
SQL即结构化查询数据,SQL语言主要用于存储数据、查询数据、更新数据和管理关系数据库系统,SQL语言有IBM开发。
分类:
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROp ALTER
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DQL语句 数据库查询语言: 查询数据SELECT
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
二、名词解释
- 数据库服务器
运行着数据库应用程序的设备 (硬件+系统软件+MYSQL软件 )
- 数据库
① 默认数据库
mysql>show databases ;
information_schema
虚拟库,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等。
performance_schema
主要存储数据库服务器的性能参数
1.提供进程等待的详细信息,包括锁、互斥变量、文件信息;
2.保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;
3.对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期
mysql
授权库,主要存储系统用户的权限信息
sys
主要存储数据库服务器的性能参数
SYS database中,可以获取mem page、io 、latch/mutex/lock等各种性能数据,方便做peformance turning 和 troubleshooting。比如可以方便获取2个sql发生 lock block,用户占用的资源等信息。
创建需要的业务主库...
② 表(EXCEL)的管理单元
- 表
记录的管理单元
- 记录(行)
信息的载体,字段的管理单元
张三,男,23,云计算工程师,月薪25K
- 字段(列)
字段名,字段类型(长度),字段约束组成(可选)
姓名,文字,不能为空
张三
- 类型
字符,数字,日期
- 约束
唯一,不能为空,自动增长
三、DDL-表
1、DDL库
① 定义库
CREATE DATABASE 数据库名; //创建一个数据库
CREATE DATABASE discuz;
数据库名要求
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字和特殊符号“如-"
正常的:用拼音或单词即可。
② 查看所有数据库
SHOW DATABASES;
③ 选择/进入数据库
USE 数据库名 //选择数据库
SELECT database();
//调用函数,查询当前库
④ 删除数据库
DROP DATABASE 数据库名;
⑤ 系统中的位置
/var/lib/mysql/
2、数据类型
① 数值类型
整数类型 int
浮点数类型 float
小数
② 字符串类型
字符系列 CHAR和VARCHAR
char的长度不可变。
varchar的长度可以增加。
枚举类型 ENUM
单选
集合类型 SET
多选
③ 时间和日期类型
年 YEAR
日期 DATE
时间 TIME
日期和时间 DATETIME
3、DDL-表
创表目的:
表是数据库存储数据的基本单位,
表由若干个字段(列)组成,
主要用来存储数据记录(行)。
操作数据库实例:
//创建1列的表格-序号
//创库
create database haha;
//使用库
use haha;
//创表1
//创建 表格 表名t1 (列名id 类型int );
CREATE TABLE t1 (id int);
//查看所有表名
//插入数据
//插入 到 表名t1 值 (1);
INSERT INTO t1 VALUES (1);
//查询所有数据
//查询 所有列 从 表名t1
SELECT * FROM t1;
//删除表
drop table t1;
操作数据库实例:
//创两列的表格-序号和姓名
//创建 表格 表名t2 (第一列名id 数字类型, 第二列名name 字符类型(长度))
create table t2 (id int, name varchar(20));
//查看表结构
//描述 表t2
desc t2;
mysql> show tables;
//查看表名
mysql> select * from t2;
mysql> desc t2;
//查看表结构
//插入数据
//插入 到 表t2 值 (第一列信息,第二列信息);
INSERT INTO t2 VALUES (1,"zhangsan");
//查询所有数据
select * from t2;
ps:注意
数字不能加引号
字符必须加引号(转义符)