MySQL是关系型数据库系统(RDBMS:Relational Database Management System)。

SQL(Structured Query Language):是一种结构化查询语言,用于访问和处理关系型数据库系统的计算机标准语言。

SQL标准命令:

DDL(数据定义语言)

数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语言命令有:

CREATE TABLE---- 创建(在数据库中创建新表、表视图或其他对象)

ALTER TABLE-- --更改 (修改现有的数据库对象,如表)

DROP TABLE---- 删除  (删除数据库中的整个表、表或其他对象的视图)

DML(数据操纵语言)

数据操纵语言用于检索、插入和修改数据,数据操纵语言是最常见的SQL命令

数据操纵语言命令包括:

INSERT-- 插入 (创建记录)

DELETE-- 删除 (删除记录)

UPDATE-- 修改(修改记录)

SELECT -- 检索 (从一个或多个表检索某些记录)

DCL(数据控制语言)

数据控制语言为用户提供权限控制命令

用于权限控制的命令有:

GRANT-- 授予权限

REVOKE-- 撤销已授予的权限

我是安装的MariaDB,Oracle收购SUN公司,收购了MYSQL。

SQL命令 hive sql命令是什么意思_表名

查询已有数据库列表   

show databases;

SQL命令 hive sql命令是什么意思_字段_02

创建数据库

CREATE DATABASE 数据库名字 [库选项];

SQL命令 hive sql命令是什么意思_SQL命令 hive_03

查看数据库的创建语句

show create database 数据库名字;

SQL命令 hive sql命令是什么意思_字段_04

修改数据库,注意:数据库的名字不能够修改

alter  database 数据库名字 [库选项];

SQL命令 hive sql命令是什么意思_表名_05

删除数据库

drop  database [if exists] 数据库名字;

SQL命令 hive sql命令是什么意思_字段_06

进入/使用数据库的操作

use  数据库名;

SQL命令 hive sql命令是什么意思_表名_07

 进入数据库后数据表的相关操作

创建表的语句格式

Create table [if not exists] 表名

(字段名字 数据类型 [列约束],

字段名字 数据类型 [列约束]  ##最后一行不需要逗号)

[表选项];

进入数据库students创建一个名为“hero”的表:

CREATE TABLE IF NOT EXISTS  hero  (

id char(5) primary key,

name char(20)unique,

sex char(2),

age int(3),

kungfu varchar(20) not null);

具体解释

约束(Constraints)

NOT NULL - 指示某列不能存储 NULL 值。

UNIQUE - 保证某列的每行必须有唯一的值。

PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。

CHECK - 保证列中的值符合指定的条件。

DEFAULT - 规定没有给列赋值时的默认值。

AUTO_INCREMENT- 会在新记录插入表中时生成一个唯一的数字。

存储引擎: engine 具体的存储引擎(InnoDB和MyISAM)

SQL命令 hive sql命令是什么意思_SQL命令 hive_08

搜索带有关键词的数据表

show tables  like '%关键词%';

SQL命令 hive sql命令是什么意思_SQL命令 hive_09

查看创建表时的语句

show create table 表名 \G

SQL命令 hive sql命令是什么意思_字段_10

 查看表结构

desc/describe/show   columns from  表名;

SQL命令 hive sql命令是什么意思_字段_11

修改数据表

数据表可修改的部分:表结构 和 字段

表结构

表名:

rename table 老表名 to 新表名;

SQL命令 hive sql命令是什么意思_数据库_12

表选项:字符集、校对集和存储引擎

alter table  表名  表选项 [=] 值;

SQL命令 hive sql命令是什么意思_SQL命令 hive_13

 表字段

新增字段:

alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];

SQL命令 hive sql命令是什么意思_字段_14

重命名字段

alter  table 表名 change 旧字段 新字段名  数据类型 [属性] [位置]

SQL命令 hive sql命令是什么意思_SQL命令 hive_15

删除字段

alter table 表名  drop  字段名; 

SQL命令 hive sql命令是什么意思_字段_16

 删除数据表

drop  table  [if exists]  表名1,表名2...;  #可以一次性删除多张表

SQL命令 hive sql命令是什么意思_数据库_17

 

数据操作

新增数据

INSERT  INTO  表名  VALUES  (值列表)[,(值列表)]; ## 可以一次性插入多条记录

INSERT INTO  表名  (字段列表)  VALUES  (值列表)[,(值列表)];

SQL命令 hive sql命令是什么意思_表名_18

 查看数据

SELECT  */字段列表  FROM  表名  [WHERE 条件];

SQL命令 hive sql命令是什么意思_字段_19

 

SQL命令 hive sql命令是什么意思_SQL命令 hive_20

 更新数据

UPDATE  表名  SET  字段 = 值 [WHERE条件];   #建议都有where: 要不然是更新全部

SQL命令 hive sql命令是什么意思_表名_21

删除数据

DELETE  FROM 表名 [WHERE条件];  #建议都有where: 要不然是删除全部

SQL命令 hive sql命令是什么意思_数据库_22

SQL命令 hive sql命令是什么意思_SQL命令 hive_23

清空表中所有数据

要删除表中的所有数据,可使用不带WHERE子句的DELETE语句。 但是对于具有几百万行的大表,DELETE语句很慢且效率不高。

要快速删除大表中的所有行,使用以下TRUNCATE TABLE语句:

TRUNCATE TABLE 表名;

SQL命令 hive sql命令是什么意思_数据库_24