MySQL数据库 SQL语言1

SQL语言分类

SQL(Structured Query Language 即结构化查询语言):SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。

  1. DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER DDL(data definition language):
  2. DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE DML(data manipulation language):
  3. DQL语句 数据库查询语言: 查询数据SELECT DQL(Data Query Language )数据查询语言 SELECT
  4. DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE DCL(Data Control Language):

数据库服务器:运行着数据库应用程序的设备 DELL R760+CENTOS+Mysql
硬件+系统软件+MYSQL软件

数据库

默认的数据库:
(1)information_schema: 虚拟库,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等
(2)performance_schema: 主要存储数据库服务器的性能参数
提供进程等待的详细信息,包括锁、互斥变量、文件信息;
保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;
对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期
(3)mysql: 授权库,主要存储系统用户的权限信息
(4)sys: 主要存储数据库服务器的性能参数
SYS database中,可以获取mem page、io 、latch/mutex/lock等各种性能数据,方便做peformance turning 和 troubleshooting。比如可以方便获取2个sql发生 lock block,用户占用的资源等信息。
表(EXCEL):记录的管理单元

记录(行):信息的载体,字段的管理单元
例:张三,男,23,工程师,月薪几k

字段(列):字段名,字段类型(长度),字段约束(可选)组成

类型:字符,数字,日期

约束:主键约束, 唯一性,不能为空,自动增长
在这里插入图片描述

DDL

DDL-库

系统中的位置:/var/lib/mysql/ 能选择清理/备份
数据库操作
数据库的操作基本有:创建,查看,选择,以及删除4种。

  1. 创建业务数据库
    Create database +数据库名;
    例:Create database discus; 后面的discuz是想要创建的数据库名字
    注意:
    数据库名要求:区别大小写、唯一性 不能重复、不能使用关键字如 create select等、不能单独使用数字和特殊符号如“ - ”、比较正常的用拼音或者单词都可以
  2. 查看所有数据库
    Show databases; 查看已经创建的所有数据库
  3. 选择/进入数据库
    Use +数据库名; 选择名为database_name的数据库,很多数据库的操作都需要先选中一个数据库,再执行进一步的操作;
    查询当前所在库
    Select database();
  4. 删除数据库
    Drop database +数据库名;

DDL数据类型

  • 数值类型
    整数类型:
  1. Int(232):一个正常大小整数。有符号的范围是-231 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字),无符号的范围是0到4294967295。一位大小为 4 个字节。
    int 的 SQL-92 同义词为 integer。

  2. Bigint(2^64):从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到18446744073709551615。一位为 8 个字节。

  3. Tinyint(2^8):有符号的范围是-128 - 127,无符号的范围是 从 0 到 255 的整型数据。一位大小为 1 字节。
    在这里插入图片描述
    注意:Tinyint有符号型最大127 int有符号型最大2147483647

  4. Smallint(216):一个小整数。有符号的范围是-215 (-32,768) 到 2^15 - 1 (32,767) 的整型数据,无符号的范围是0到65535。一位大小为 2 个字节。MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

  5. Mediumint(2^24):一个中等大小整数,有符号的范围是-8388608到8388607,无符号的范围是0到16777215。 一位大小为3个字节。

  • 浮点数类型:
  1. Float:float是近似数值,存在精度缺失
    Double:双精度浮点。处理大多数小数。
    定点数类型:
    Dec:decimal是精确数值,不存在精度损失
  2. 浮点数和定点数都可以用类型名称后加(M,D)的方式来表示,
    (M,D)表示一共显示M位数字(总数位+小数位),
    其中D位于小数点后面,M和D又称为精度和标度。
    在这里插入图片描述
  3. 位类型:
    Bit:整型数据 1、0 或 NULL
  • 字符串类型
  1. Char系列:
    Char:char类型的长度是固定的,在创建表时就指定了,其长度可以是0255的任意值。
    Varchar:varchar类型的长度是可变的,在创建表时指定了最大长度。定义时,其最大值可以取0
    65525之间的任意值。指定了varchar类型的最大值以后,其长度可以在o到最大长度之间。
    在检索的时候,CHAR列删除了尾部的空格,而VARCHAR则保留这些空格
  2. Text系列:text类型是一种特殊的字符串类型。text只能保存字符数据,如新闻的内容等。
    在这里插入图片描述
  3. Blob系列:BLOB类型的字段用于存储二进制数据
类型大小(单位:字节)
Tinyblob0~255
Blob0~64K
Mediumblob0~16M
Longblob0~4G
  1. Binary系列:
    Binary:固定长度的 n 个字节二进制数据。N 必须从 1 到 8,000。存储空间大小为 n+4 字节。
    Varbinary:n 个字节变长二进制数据。n 必须从 1 到 8,000。存储空间大小为实际输入数据长度 +4 个字节,而不是 n 个字节。输入的数据长度可能为 0 字节。
  2. 枚举类型:
    Enum:65536个元素(单选)
  3. 集合类型:
    Set:64个元素(可以多选)
  • 时间和日期类型
    year 年、time 时间、date 日期、datetime 日期和时间、timestamp 时间戳
    在这里插入图片描述
  • 完整性约束
    由于生活中需要避免重名的情况,所以数据库中某列使用完整性约束来限定此类要求。
    用于保证数据的完整性和一致性
约束条件说明
PRIMARY KEY (PK) 复合主键约束标识该字段为该表的主键,可以唯一的标识记录,不可以为空
FOREIGN KEY (FK) 外键约束标识该字段为该表的外键,实现表与表(父表主键/子表1外键/子表2外键)之间的关联
UNIQUE KEY (UK) 唯一约束标识该字段的值是唯一的,可以为空,一个表中可以有多个UNIQUE KEY
AUTO_INCREMENT 字段值增标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT 默认值、空值字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值sex enum(‘male’,‘female’) not null default ‘male’ //默认值maleage int unsigned NOT NULL default 20 //必须为正值(无符号) 不允许为空 默认是20
NOT NULL是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值
UNSIGNED无符号,正数
ZEROFILL使用0填充,例如0000001

DDL-表

表是数据库存储数据的基本单位,表由若干个字段(列)组成,主要用来存储数据记录(行)。
例:

  1. 创建表
    语法:create table +表名(字段1 类型,字段2 类型,字段3 类型);
    创建数据库discuz:create database discuz
    使用库:use discuz
    创建一个表四列:create table t1(id int,name varchar(20),sex enum(‘m’,’f’),age int);
  2. 查看表名:show tables
  3. 表中插入内容
    语法:insert into 表名 values(字段值列表…)
    插入数据:insert into t1 values(1,‘zhangsan’,‘m’,33),
    Insert into t1 values (2,’lisi’,’f’,20),
    Insert into t1 values (1,’wangwu’,’m’,40),
  4. 查看表内容
    Select * from t1 插叙你表中所有字段的值
  5. 查看表结构
    Desc t1
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值