mysql数据库实战系列--再入泥坑

开源数据库MySQL DBA运维实战 第2章 SQL1


作者:帽子先生


SQL语言分类

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

分类

DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DDL(data definition language):

DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DML(data manipulation language):

DQL语句 数据库查询语言: 查询数据SELECT
DQL(Data Query Language )数据查询语言 SELECT

DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
DCL(Data Control Language):

名词解释

数据库服务器

运行着数据库应用程序的设备
CENTOS+Mysql

硬件+系统软件+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,用户占用的资源等信息。
	创建需要的业务主库...
	
表的管理单元

​ 记录的管理单元

记录

​ 信息的载体,字段的管理单元
​ 张三,男,23,云计算工程师,月薪25K

字段

​ 字段名,字段类型(长度),字段约束组成(可选)
​ 姓名,文字,不能为空
​ 张三

类型

​ 字符,数字,日期

约束

​ 不能为空,自动增长

DDL(数据库定义语言)

DDL-库

定义库

a.创建业务数据库
语法
CREATE DATABASE 数据库名;
CREATE DATABASE discuz;
数据库名要求
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字和特殊符号“如-"
正常的:用拼音或单词即可。

b.查看所有数据库
SHOW DATABASES;

选择/进入数据库

​ USE 数据库名
​ SELECT database();
调用函数,查询当前库

删除数据库

​ DROP DATABASE 数据库名;

系统中的位置

​ /var/lib/mysql/

数据类型

1.数值类型

​ 整数类型 INT
​ 浮点数类型 FLOAT
​ 小数

2.字符串类型

​ 字符系列 CHAR和VARCHAR
​ 枚举类型 ENUM
​ 单选
​ 集合类型 SET
​ 多选

3.时间和日期类型

​ 年 YEAR
​ 日期 DATE
​ 时间 TIME
​ 日期和时间 DATETIME

DDL-表

创表目的

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

操作数据库实例1

操作数据库实例1
	创建1列的表格-序号
	创库
		create    database    haha;
	使用库
		use    haha;
	创表1
		create    table    t1    (id int);
	查看所有表
		show   tables;
	插入数据
		insert   into   t1   values(1);
	查询所有数据
		select   *   from t1;
	删除表
		drop   table  t1;

操作数据库实例2

操作数据库实例2
	创两列的表格-序号和姓名
		create   table   t2   (id   int,name   varchar);
	查看表结构
		desc t2;
	插入数据
		insert   into   t2   values  (1,"zhangsan");
	查询所有数据
		select   *   from   t2;

操作数据库实例3

1.创建表

​ 要求

创建库school
创建表student1

语法
create table 表名(字段名1 类型,字段名2 类型,字段名3 类型 );

示例
	mysql> CREATE  DATABASE school;
		创建数据库school
	mysql> use school;	
		使用库
	mysql> create table student1(  id int, name varchar  ,   sex enum('m','f'), age int );
		创建一个表,四列
	提示
		Query OK, 0 rows affected (0.03 sec)

2.查看表名

mysql> show tables;	
+------------------+
| Tables_in_school |
+------------------+
| student1         |
+------------------+
1 row in set (0.00 sec)
	查看表名(需要进入一个数据库)

3.表中插入内容

语法
insert into 表名(字段1,字段2…) values(字段值列表…);

插入数据
	insert into student1 values (1,'zhangsan','m',33) ,
	insert into student1 values (2,'lisi','f',20) ,
	insert into student1 values (1,'wangwu','m',40) ,

4.查看表内容

mysql> select * from student1;
	查询表中所有字段的值

5.查看表结构

desc student1;

注意表结构和表内容是两个概念。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值