开源数据库MYSQL DBA运维实战-SQL1语言

开源数据库MYSQL DBA运维实战-SQL1语言

[TOC]

一.SQL语言概述

什么是SQL语言

SQL(Structured Query Language)是“结构化查询语言”,SQL语言由IBM开发,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQL Server 等。

作用

SQL语言主要用于存取数据,查询数据,更新数据和管理关系数据库系统,SQL语言由IBM开发,

分类

DDL(Data Definition Language)数据定义语言等:数据库,表,索引,存储过程;例如CREATE DROP ALTER

DML(Data Manipulation Language)数据操作语言:插入数据INSERT,删除数据DELETE,更新数据UPDATE

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

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

名词解释

1.数据库服务器

运行着数据库应用程序的设备:硬件+系统软件+MySql软件

2.数据库

默认数据库,可以说是一个容器,用来装表的,表的管理单元。
表可以理解为excl

3.记录(行)

信息的载体,字段的管理单元

4.字段(列)

字段名,字段类型(长度),字段约束组成(可选)
字段名:姓名文字不能为空
类型:字符,数字,日期
约束:不能为空,自动增长

二.DDL

DDL-库

定义库

1.1创建业务数据库

语法:CREANT DATABASE + 数据库名;
后面一定要加分号,如果没有加分号,回车,那就再输入一个分号回车也可以,视为同一行。

1.2数据库名要求

区分大小写
唯一性,已经存在名字不能再使用
不能使用关键字,如:create select
不能单独使用数字和特殊符号
正常的:用拼音或单词即可

1.3创建数据库

mysql> create database discuz;
Query OK, 1 row affected (0.00 sec)

1.4查看所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| discuz             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
选择/进入数据库

1.语法

进入数据库:use + 数据库名
调用函数,查询当前库,前提是进去库才能用:select database();

1.2示例:

mysql> use discuz
Database changed

mysql> select database();
+------------+
| database() |
+------------+
| discuz     |
+------------+
1 row in set (0.00 sec)
删除库

删除库请谨慎操作
1.语法

drop database +数据库名

1.2示例

mysql> drop database discuz;
Query OK, 0 rows affected (0.00 sec)
系统中的位置

数据库实体,备份清理数据库的位置

[root@192 ~]# ll -d /var/lib/mysql/
drwxr-x--x. 5 mysql mysql 4096 11月 20 11:14 /var/lib/mysql/

DDL-数据类型

数据类型的分类

MySql中的数据类型有很多,主要分为三类:数值类型,字符串类型,日期时间类型。通俗来讲要么写数,要么写字,要么写时间和日期

1.数值类型

整数类型 int
浮点数类型 float:小数

2.字符串类型

字符系列 CHAR和VARCHAR:char的长度不可变,varchar的长度可以增加。
枚举类型 ENUM:单选
集合类型 SET:多选

3.时间和日期类型

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

DDL-表

创建表的目的

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

操作数据库示例
示例一:创建1列的表格-序号

1.创库

mysql> create database haha;
Query OK, 1 row affected (0.00 sec)

1.2使用库,在库里创建表,要进入库

mysql> use haha;
Database changed

1.3开始创建表:create table

mysql> create table t1 (id int);
Query OK, 0 rows affected (0.01 sec)

参数解释:
t1:表的名字
id:列的名字
int:类型

1.4查看表:show tables

mysql> show tables;
+----------------+
| Tables_in_haha |
+----------------+
| t1             |
+----------------+
1 row in set (0.00 sec)

1.5插入数据:insert into

mysql> insert into t1 values (1);
Query OK, 1 row affected (0.03 sec)

插入  到   表名t1   值  (1);

1.6查询所有数据

mysql> select * from t1;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

查询所有数据从表名t1

1.7删除表:删完该跑路了

mysql> drop table t1;
Query OK, 0 rows affected (0.00 sec)
示例二:创两列的表格-序号和姓名

1.创表

mysql> create table t2 (id int,name varchar(20));
Query OK, 0 rows affected (0.01 sec)

创建  表格  表名t2  (第一列名id   数字类型,  第二列名name 字符类型(长度))

1.2查看表结构

mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

描述 表t2

1.3查询表所有数据,准确讲就是值

mysql> select * from t2;
Empty set (0.00 sec)

1.4插入数据,字符串要加双引号,数字不用加

mysql> insert into t2 values (1,"zhangsan");
Query OK, 1 row affected (0.00 sec)

插入  到  表t2    值  (第一列信息,第二列信息);

1.5查询所有数据

mysql> select * from t2;
+------+----------+
| id   | name     |
+------+----------+
|    1 | zhangsan |
+------+----------+
1 row in set (0.00 sec)
示例三:创建三列,创建库school,创建表student1

1.创库

mysql> create database school;
Query OK, 1 row affected (0.00 sec)

1.2进入库,创建表

mysql> use school
Database changed

mysql> create table student1 (id int,name varchar(20),sex enum('m','f'),age int);
Query OK, 0 rows affected (0.00 sec)

enum:枚举型

1.3查看表名

mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| student1         |
+------------------+
1 row in set (0.00 sec)

1.4查看表结构

mysql> desc student1;
+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| id    | int(11)       | YES  |     | NULL    |       |
| name  | varchar(20)   | YES  |     | NULL    |       |
| sex   | enum('m','f') | YES  |     | NULL    |       |
| age   | int(11)       | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

1.5插入数据

mysql> insert into student1 values (1,"zhangsan","m",33);
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values (2,"lisi","f",23);
Query OK, 1 row affected (0.00 sec)

mysql> insert into student1 values (3,"wangwu","f",20);
Query OK, 1 row affected (0.00 sec)

1.6查看所有数据

mysql> select * from student1;
+------+----------+------+------+
| id   | name     | sex  | age  |
+------+----------+------+------+
|    1 | zhangsan | m    |   33 |
|    2 | lisi     | f    |   23 |
|    3 | wangwu   | f    |   20 |
+------+----------+------+------+
3 rows in set (0.00 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值