一、SQL语言分类
SQL(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
分类
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER DDL(data definition language):
DML(data manipulation language)语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DQL语句 数据库查询语言: 查询数据SELECT DQL(Data Query Language )数据查询语言 SELECT
DCL(Data Control Language):)语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
二、名词解释
1.数据库服务器
运行着数据库应用程序的设备 DELL R760+CENTOS+Mysql
硬件+系统软件+MYSQL软件
2.数据库
默认数据库
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)的管理单元
3. 表 --记录的管理单元
信息的载体,字段的管理单元
张三,男,23,云计算工程师,月薪25K
4.字段(列)
字段名,字段类型(长度),字段约束组成(可选)
姓名,文字,不能为空
张三
5.类型
字符,数字,日期
6.约束
唯一,不能为空,自动增长
7.图示
三、DDL
1.DDL-库
定义库
创建业务数据库
语法
CREATE DATABASE 数据库名;
CREATE DATABASE discuz;
数据库名要求
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字和特殊符号“如-"
正常的:用拼音或单词即可。
查看所有数据库
SHOW DATABASES;
选择/进入数据库
USE 数据库名
SELECT database();
调用函数,查询当前库
删除数据库
DROP DATABASE 数据库名;
系统中的位置
/var/lib/mysql/
清理 备份
2.数据类型
数据类型
1.数值类型:
整数类型 INT
TINYINT SMALLINT MEDIUMINT BIGINT
浮点数类型 FLOAT DOUBLE
定点数类型 DEC
位类型 BIT
2.字符串类型:
CHAR系列 CHAR VARCHAR
TEXT系列 TEXT TINYTEXT MEDIUMTEXT LONGTEXT
BLOB 系列 BLOB 特殊符号
BINARY系列 BINARY VARBINARY
枚举类型: ENUM 65536个元素
集合类型: SET 64个元素
3.时间和日期类型:
DATE TIME DATETIME TIMESTAMP YEAR
类型测试
===整数类型测试:tinyint,int
作用:用于存储用户的年龄、游戏的Level、经验值等。
LAB1:(int,tinyint的最大值)
前言 TINYINT有符号型最大127
INT有符号型最大2147483647
1 创建一个表
mysql> create table test1(
tinyint_test tinyint,
int_test int
); 注意TINYINT类型
2 查询表结构
mysql> desc test1;
+--------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------+------+-----+---------+-------+
| tinyint_test | tinyint(4) | YES | | NULL | |
| int_test | int(11) | YES | | NULL | |
+--------------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
Field字段名称(列名)
TYPE字段类型(字?数?日?)