了解SQL

作者: 禅与发现的乐趣 | 来源:发表于2018-06-26 20:51 被阅读15次

几个基本概念

数据库(database)
保存有组织的数据的容器(通常是一个文件或一组文件)

表(table)
某种特定类型数据的结构化清单

模式(schema)
关于数据库和表的布局及特性的信息

列(column)
表中的一个字段。所有表都是由一个或多个列组成。

数据类型(datatype)
所容许的数据类型,每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。

行(row)
表中的一个纪录

主键(primary key)
一列(或一组列),其值能够唯一区分表中每个行

什么是SQL

SQL是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。

什么是MySQL

数据的所有存储、检索、管理和处理都是由数据库软件-DBMS完成的,MySQL是一种DBMS,即它是一种数据库软件。

显示所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| crashcourse        |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

选择数据库

mysql> use crashcourse;
Database changed

获取当前选择的数据库内可用表的列表

show tables;

获取表中的列信息

mysql> show columns from customers;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

一种快捷方式是使用DESCRIBE语句

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

获取授予用户的安全权限

mysql> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)

允许的help语句

mysql> help show;
Name: 'SHOW'
Description:
SHOW has many forms that provide information about databases, tables,
columns, or status information about the server. This section describes
those following:

SHOW {BINARY | MASTER} LOGS
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
SHOW CHARACTER SET [like_or_where]
SHOW COLLATION [like_or_where]
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]
SHOW CREATE DATABASE db_name
SHOW CREATE EVENT event_name
SHOW CREATE FUNCTION func_name
SHOW CREATE PROCEDURE proc_name
SHOW CREATE TABLE tbl_name
SHOW CREATE TRIGGER trigger_name
SHOW CREATE VIEW view_name
SHOW DATABASES [like_or_where]
SHOW ENGINE engine_name {STATUS | MUTEX}
SHOW [STORAGE] ENGINES
SHOW ERRORS [LIMIT [offset,] row_count]
SHOW EVENTS
SHOW FUNCTION CODE func_name
SHOW FUNCTION STATUS [like_or_where]
SHOW GRANTS FOR user
SHOW INDEX FROM tbl_name [FROM db_name]
SHOW MASTER STATUS
SHOW OPEN TABLES [FROM db_name] [like_or_where]
SHOW PLUGINS
SHOW PROCEDURE CODE proc_name
SHOW PROCEDURE STATUS [like_or_where]
SHOW PRIVILEGES
SHOW [FULL] PROCESSLIST
SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]
SHOW PROFILES
SHOW RELAYLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
SHOW SLAVE HOSTS
SHOW SLAVE STATUS [FOR CHANNEL channel]
SHOW [GLOBAL | SESSION] STATUS [like_or_where]
SHOW TABLE STATUS [FROM db_name] [like_or_where]
SHOW [FULL] TABLES [FROM db_name] [like_or_where]
SHOW TRIGGERS [FROM db_name] [like_or_where]
SHOW [GLOBAL | SESSION] VARIABLES [like_or_where]
SHOW WARNINGS [LIMIT [offset,] row_count]

like_or_where:
    LIKE 'pattern'
  | WHERE expr

If the syntax for a given SHOW statement includes a LIKE 'pattern'
part, 'pattern' is a string that can contain the SQL % and _ wildcard
characters. The pattern is useful for restricting statement output to
matching values.

Several SHOW statements also accept a WHERE clause that provides more
flexibility in specifying which rows to display. See
http://dev.mysql.com/doc/refman/5.7/en/extended-show.html.

URL: http://dev.mysql.com/doc/refman/5.7/en/show.html

相关文章

  • 了解SQL

    几个基本概念 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件) 表(table)某种特...

  • 了解SQL

    数据库:保存 有组织的数据 的容器。 表: 把资料 放到 柜子里面,不是把他们 扔到抽屉 就了事,而是 ...

  • 了解SQL

    什么SQL SQL是一门和数据库打交道的语言 SQL(结构化查询语言)是用于访问和操作数据库中的数据的标准数据库编...

  • Mybatis 是如何实现防SQL注入攻击的

    想来了解这个问题,先了解下什么是sql注入攻击。 所谓sql注入攻击,顾名思义,就是sql语句(恶意的) 注入到正...

  • _1_ SQL 了解SQL

    SQL Structured Query Language. 简称SQL. 是一种专门用来与数据库沟通的语言. 一...

  • MySQL 优化

    SQL优化 -- 通过show status命令了解各种sql的执行效率 查看本session的sql执行效率sh...

  • 01 了解SQL

    目录链接:https://www.jianshu.com/p/2c104aaadb03 SQL,指结构化查询语言,...

  • java编程学习笔记——mybatis SQL注入问题

    SQL 注入攻击 首先了解下概念,什么叫SQL 注入: SQL注入攻击,简称SQL攻击或注入攻击,是发生于应用程序...

  • Python——MySQLdb模块数据库操作

    如果对于数据库不了解,可以先看这个 SQL教程:http://www.runoob.com/sql/sql-tut...

  • SQLite 数据库

    前置知识 了解以下知识,对更好地了解SQLite数据库会有帮助: 关系型数据库 JDBC SQL语言 一. SQL...

网友评论

      本文标题:了解SQL

      本文链接:https://www.haomeiwen.com/subject/hutvyftx.html