精华内容
下载资源
问答
  • 希望读者看完本节后,能够对标准SQL 的基本语法和MySQL 部分扩展语法有所了解。2.2.1 SQL 分类SQL 语句主要可以划分为以下3 个类别。DDL(Data Definition Language)语句:数据定义语言,这些语句定义了不同...

    a14f34282c7fca025ed77ef6553b53b0.png

    这里用了(My)SQL 这样的标题,目的是在介绍标准SQL 的同时,也将一些MySQL 在标准SQL 上的扩展一同介绍给读者。希望读者看完本节后,能够对标准SQL 的基本语法和MySQL 的部分扩展语法有所了解。

    2.2.1 SQL 分类

    SQL 语句主要可以划分为以下3 个类别。

    • DDL(Data Definition Language)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create、drop、alter 等。
    • DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert、delete、update和select 等。
    • DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。常用的语句关键字主要包括grant、revoke 等。

    2.2.2 DDL 语句

    简单来说,DDL 就是对数据库内部的对象进行创建、删除、修改等操作的语言。它和DML 语句的最大区别是DML 只是操作表内部的数据,而不涉及表的定义、结构的修改,更不会涉及其他对象。DDL 语句更多地是由数据库管理员(DBA)使用,开发人员一般很少使用。

    下面通过一些例子来介绍MySQL 中常用DDL 语句的使用方法。

    1.创建数据库

    启动MySQL 服务之后,输入以下命令连接到MySQL 服务器:

    [root~]# mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 31
    Server version: 8.0.11 MySQL Community Server - GPL
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    mysql>

    在以上命令行中,mysql 代表客户端命令,“-u”后面跟连接的数据库用户,“-p”表示需要输入密码。 如果数据库设置正常,并输入了正确的密码,将看到上面一段欢迎界面和一个“mysql>”提示符。在欢迎界面中说明了以下几部分内容。

    • 命令的结束符,用“;”或者“g”结束。
    • 客户端的连接ID,这个数字记录了MySQL 服务到目前为止的连接次数;每一个新连接都会自动加1,本例中是31。
    • MySQL 服务器的版本和类型,本例中是“8.0.11 MySQL Community Server - GPL”,说明是8.0.11 的社区发行版。
    • 通过“help;”或者“h”命令来显示帮助内容,通过“c”命令来清除命令行buffer。在mysql>提示符后面输入所要执行的SQL 语句,每个SQL 语句以分号(;)或者“g”结束,按回车键执行。

    因为所有的数据都存储在数据库中,因此需要学习的第一个命令是创建数据库,语法如下所示:

    CREATE DATABASE dbname

    例如,创建数据库test1,命令执行如下:

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

    可以发现,执行完创建命令后,下面有一行提示“Query OK, 1 row affected (0.00 sec)”,这段提示可以分为3 个部分。“Query OK”表示上面的命令执行成功。读者可能会觉得奇怪,又不是执行查询操作,为什么显示查询成功?其实这是MySQL 的一个特点,所有的DDL 和DML(不包括SELECT)操作执行成功后都显示“Query OK”,这里理解为执行成功就可以了。“1 rowaffected”表示操作只影响了数据库中一行的记录,“0.00 sec”则记录了操作执行的时间。

    如果已经存在这个数据库,系统会提示:

    mysql> create database test1;
    ERROR 1007 (HY000): Can't create database 'test1'; database exists

    这时,如果需要知道系统中都存在哪些数据库,可以用以下命令来查看:

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

    可以发现,在上面的列表中除了刚刚创建的test1 外,还有另外4 个数据库,它们都是安装MySQL 时系统自动创建的,其功能分别如下。

    • information_schema:主要存储系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息、分区信息等。每个用户都可以查看这个数据库,但根据权限的不同看到的内容不同。
    • performance_schema:MySQL 5.5 引入的系统库,用于存储系统性能相关的动态参数表。
    • sys:MySQL 5.7 引入的系统库,本身不记录系统数据,基于information_schema 和performance_schema 之上,封装了一层更加易于调优和诊断的系统视图。
    • mysql:存储系统的用户权限信息。

    在查看系统中已有的数据库后,可以用如下命令选择要操作的数据库:

    USE dbname

    例如,选择数据库test1:

    mysql> use test1
    Database changed

    然后再用以下命令来查看test1 数据库中创建的所有数据表:

    mysql> show tables;
    Empty set (0.00 sec)

    由于test1 是刚创建的数据库,还没有表,所以显示为空。命令行下面的“Empty set”表示操作的结果集为空。如果查看一下mysql 数据库里面的表,则可以得到以下信息:

    mysql> use mysql

    mysql> show tables;
    +---------------------------+
    | Tables_in_mysql |
    +---------------------------+
    | columns_priv |
    | component |
    | db |
    | default_roles |
    | engine_cost |
    | func |
    | general_log |
    | global_grants |
    | gtid_executed |
    | help_category |
    | help_keyword |
    | help_relation |
    | help_topic |
    | innodb_index_stats |
    | innodb_table_stats |
    | password_history |
    | plugin |
    | procs_priv |
    | proxies_priv |
    | role_edges |
    | server_cost |
    | servers |
    | slave_master_info |
    | slave_relay_log_info |
    | slave_worker_info |
    | slow_log |
    | tables_priv |
    | time_zone |
    | time_zone_leap_second |
    | time_zone_name |
    | time_zone_transition |
    | time_zone_transition_type |
    | user |
    +--------------------------+
    33 rows in set (0.00 sec)

    2.删除数据库 删除数据库的语法很简单,如下所示:

    drop database dbname;

    例如,要删除test1 数据库可以使用以下语句:

    mysql> drop database test1;
    Query OK, 0 rows affected (0.00 sec)

    可以发现,提示操作成功后,后面却显示“0 rows affected”,这个提示的含义是前一次MySQL 操作所影响的记录行数,通常只对增删改操作生效,drop 等DDL 操作通常显示“0 rowsaffected”。

    注意:数据库删除后,下面的所有表数据都会全部删除,所以删除前一定要仔细检查并做好相应备份。

    3.创建表

    在数据库中创建一张表的基本语法如下:

    CREATE TABLE tablename (
    column_name_1 column_type_1 constraints,
    column_name_2 column_type_2 constraints,
    …
    column_name_n column_type_n constraints)

    因为MySQL 的表名是以文件的形式保存在磁盘上的,所以表名的字符可以用任何文件名允许的字符。column_name 是列的名字;column_type 是列的数据类型;constraints 是这个列的约束条件,在后面的章节中会详细介绍。

    例如,创建一个名称为emp 的表。表中包括ename(姓名)、hiredate(雇用日期)和sal(薪水)3 个字段,字段类型分别为varchar(10)、date、int(2)(关于字段类型将会在第 3 章中介绍):

    mysql> create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));
    Query OK, 0 rows affected (0.02 sec)

    表创建完毕后,如果需要查看一下表的定义,可以使用如下命令:

    DESC tablename

    例如,查看emp 表,将输出以下信息:

    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(10) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)

    虽然desc 命令可以查看表定义,但是其输出的信息还是不够全面。为了得到更全面的表定义信息,有时就需要查看创建表的SQL 语句,可以使用如下命令查看:

    mysql> show create table emp G;
    *************************** 1. row ***************************
    Table: emp
    Create Table: CREATE TABLE 'emp' (
    'ename' varchar(20) DEFAULT NULL,
    'hiredate' date DEFAULT NULL,
    'sal' decimal(10,2) DEFAULT NULL,
    'deptno' int(2) DEFAULT NULL,
    KEY 'idx_emp_ename' ('ename')
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk
    1 row in set (0.02 sec)
    ERROR:
    No query specified
    mysql>

    从上面创建表的SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。“G”选项的含义是使得记录能够按照字段竖向排列,以便更好地显示内容较长的记录。

    4.删除表

    表的删除命令如下:

    DROP TABLE tablename

    例如,要删除数据库emp 可以使用以下命令:

    mysql> drop table emp;
    Qu ery OK, 0 rows affected (0.00 sec)

    5.修改表 对于已经创建好的表,尤其是已经有大量数据的表,如果需要做一些结构上的改变,可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载。而且,如果有服务在访问表,也会对服务产生影响。

    因此,在大多数情况下,表结构的更改都使用alter table 语句,以下是一些常用的命令。

    (1)修改表类型,语法如下:

    ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

    例如,修改表emp 的ename 字段定义,将varchar(10)改为varchar(20):

    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(10) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    mysql> alter table emp modify ename varchar(20);
    Query OK, 0 rows affected (0.03 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)

    (2)增加表字段,语法如下:

    ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]

    例如,在表emp 中新增加字段age,类型为int(3):

    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    mysql> alter table emp add column age int(3);
    Query OK, 0 rows affected (0.03 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    | age | int(3) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)

    (3)删除表字段,语法如下:

    ALTER TABLE tablename DROP [COLUMN] col_name

    例如,将字段age 删除掉:

    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    | age | int(3) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)
    mysql> alter table emp drop column age;
    Query OK, 0 rows affected (0.04 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)

    (4)字段改名,语法如下:

    ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition
    [FIRST|AFTER col_name]

    例如,将age 改名为age1,同时修改字段类型为int(4):

    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    | age | int(3) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    mysql> alter table emp change age age1 int(4) ;
    Query OK, 0 rows affected (0.02 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> desc emp
    -> ;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    | age1 | int(4) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)

    注意:change 和modify 都可以修改表的定义,不同的是change 后面需要写两次列名,不方便。但是change 的优点是可以修改列名称,modify 则不能。

    (5)修改字段排列顺序。

    前面介绍的字段增加和修改语法(ADD/CHANGE/MODIFY)中,都有一个可选项first|aftercolumn_name,这个选项可以用来修改字段在表中的位置,ADD 增加的新字段默认是加在表的最后位置,而CHANGE/MODIFY 默认都不会改变字段的位置。 例如,将新增的字段birth date 加在ename 之后:

    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    | age | int(3) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)
    mysql> alter table emp add birth date after ename;
    Query OK, 0 rows affected (0.03 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | ename | varchar(20) | YES | | | |
    | birth | date | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    | age | int(3) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    6 rows in set (0.00 sec)

    修改字段age,将它放在最前面:

    mysql> alter table emp modify age int(3) first;
    Query OK, 0 rows affected (0.03 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    mysql> desc emp;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | age | int(3) | YES | | | |
    | ename | varchar(20) | YES | | | |
    | birth | date | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    6 rows in set (0.00 sec)

    注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于MySQL 在标准SQL 上的扩展,在其他数据库上不一定适用。

    (6)更改表名,语法如下:

    ALTER TABLE tablename RENAME [TO] new_tablename

    例如,将表emp 改名为emp1,命令如下:

    mysql> alter table emp rename emp1;
    Query OK, 0 rows affected (0.00 sec)
    mysql> desc emp;
    ERROR 1146 (42S02): Table 'sakila.emp' doesn't exist
    mysql> desc emp1;
    +----------+---------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | age | int(3) | YES | | | |
    | ename | varchar(20) | YES | | | |
    | birth | date | YES | | | |
    | hiredate | date | YES | | | |
    | sal | decimal(10,2) | YES | | | |
    | deptno | int(2) | YES | | | |
    +----------+---------------+------+-----+---------+-------+
    6 rows in set (0.00 sec)

    本文截选自刚刚上架的《深入浅出MySQL 数据库开发 优化与管理维护》 第3版,翟振兴,张恒岩,崔春华,黄荣,董骐铭著。

    44010ead8131ecf10febd6de1b9ec4fb.png
    《深入浅出MySQL 数据库开发 优化与管理维护 第3版》(翟振兴,张恒岩,崔春华,黄荣,董骐铭)【摘要 书评 试读】- 京东图书item.jd.com

    《深入浅出MySQL 数据库开发 优化与管理维护 第3版》(翟振兴,张恒岩,崔春华,黄荣,董骐铭)【摘要 书评 试读】- 京东图书

    • 基于官方的MySQL 5.7版本进行全面修订,新增了大量8.0新特性。
    • 新增数据库自动化运维章节,可帮助读者轻松搭建自己的RDS。
    • 全面改写“架构篇”,复制/中间件/高可用更贴实战。

    本书是同名经典畅销图书的升级版,基于MySQL 5.7版本进行了内容改写,同时穿插介绍了MySQL 8.0版本的重要功能,此外还增加了高可用架构、数据化自动运维、数据库中间件等主题介绍和应用实践。
    本书分为“基础篇”“开发篇”“优化篇”“管理维护篇”和“架构篇”,其内容源自网易公司多位资深数据库专家数年的经验总结和MySQL数据库的使用心得。本书以实用性和可操作性为主旨,章节安排合理有序,内容丰富全面,讲解由浅入深,还提供了大量的一线工作实例。


    无论是数据库初学人员,还是有一定经验的数据库管理/维护/开发人员,都可以在阅读本书的过程中或有匪浅。本书还适合作为数据库相关专业的参考用户,以及相关培训机柜的培训教材。

    本书内容:

    • 基础篇
      MySQL的安装与配置
      SQL基础
      MySQL支持的数据类型
      MySQL中的运算符
      常用函数
    • 开发篇
      表类型(存储引擎)的选择
      选择合适的数据类型
      字符集
      索引的设计和使用
      开发常用数据库对象
      事务控制和锁定语句
      SQL中的安全问题
      SQL Mode及相关问题
      MySQL分区
    • 优化篇
      SQL优化
      锁问题
      优化MySQL Server
      磁盘I/O问题
      应用优化
      PS/SYS数据库
      故障诊断
    • 管理维护篇
      MySQL高级安装和升级
      MySQL中的常用工具
      MySQL日志
      备份与恢复
      MySQL权限与安全
      MySQL监控
      MySQL常见问题和应用技巧
      自动化运维系统的开发
    • 架构篇
    • MySQL复制
    • 高可用架构
    • MySQL中间件
    展开全文
  • SQL与数据库接口的基本用法是其流行最重要原因。关于SQL基本方面之一就是查询。基本上,SQL中查询是对数据请求或问题。面向初学者前30个SQL查询:SQL查询不仅仅是SQL基础知识,它是你使用SQL执行不同...

    毫无疑问,SQL或结构化查询语言是最流行的编程语言之一,尤其是因为它具有访问和修改数据库中数据的功能。SQL与数据库接口的基本用法是其流行的最重要原因。

    关于SQL的最基本方面之一就是查询。基本上,SQL中的查询是对数据的请求或问题。

    面向初学者的前30个SQL查询:

    SQL查询不仅仅是SQL基础知识,它是你使用SQL执行不同任务而无需执行复杂过程的工具。接下来,让我们深入探讨一下与数据库相关的工作角色专业面试中最常见的SQL查询。

    1.显示表中所有列的数据

    针对初学者的首批SQL查询之一解决了从表中检索数据的功能。查询只有一个字符,后跟SELECT,即*,它指向表中的所有列。结果,无需列出所有列的名称。此查询中的附加组件和最重要的组件是“ FROM”,其后是要进行数据检索的表的名称。例如,如果你想从表“ stars”中获取数据,则查询将是:

    SELECT *
    
    FROM stars;

    2.创建数据库和表

    对于初学者来说,这也是最重要的SQL查询之一,因此开始使用SQL是必不可少的。“ CREATE”关键字可以帮助你创建表以及数据库以及数据库中的表。这是用于创建数据库,输入数据库然后创建表的SQL查询的示例。

    CREATE db_name;
    
    /* Use the specified database for executing further queries */
    
    USE db_name;
    
    CREATE TABLE authors (author_name VARCHAR(60), author_email VARCHAR(70), author_pay int);

    3.筛选出数据

    “ WHERE”子句是初学者了解SQL功能的重要SQL查询之一。它有助于根据特定条件过滤数据。例如,对于“学生”数据库,你可以实现诸如age> = 10的条件。本示例旨在在“年龄”列中查找值等于或大于10的记录。

    SELECT id, name, age
    
    FROM students
    
    WHERE age>=10;

    4.从特定列获取数据

    SQL还提供了显示表中特定列中的数据的机会。你可以通过在“ SELECT”之后列出各列来实现。以“学生”数据库为例。如果你要检索有关“ id”和“ name”的数据,则可以使用以下示例查询,

    SELECT id, name
    
    FROM students;

    5.根据与OR运算符联接的条件过滤数据

    这是针对初学者的基本SQL查询的改进,并提供了基于多种条件的数据过滤。如果要实现两个条件并希望满足其中一个条件以过滤数据,则可以使用“ OR”运算符来加入条件。在以下示例查询中,让我们找出年龄在10岁以上且名字为“ John”的学生的记录。

    SELECT id, name, age
    
    FROM students
    
    WHERE age >= 10 OR name = ‘John’;

    6.通过使用AND运算符合并条件来筛选出数据

    你还可以为初学者找到此类SQL命令,以进行深入的数据过滤。通过使用多个条件,此SQL查询可以提供更好的数据过滤。“ AND”运算符在这里起作用。因此,根据上述示例查询,让我们找出10岁以上名字为“ John”的学生的记录。

    SELECT id, name, age
    
    FROM students
    
    WHERE age >= 10 AND name = ‘John’;

    7.获取非重复记录

    你可以在“ SELECT”之后使用“ DISTINCT”关键字,以仅获取特定类型的记录,从而避免任何重复的记录。在以下示例查询中,让我们从“服装”表中的“名称”和“颜色”列中获取记录。

    SELECT DISTINCT name, color
    
    FROM clothing;

    该查询将有助于验证这些列中的值对于多个记录是否相同。如果多个记录中的值相同,查询将仅返回其中一条记录。因此,你会注意到,针对初学者的SQL查询可以简化与数据库交互的任务。

    8.基于多列排序数据

    SQL功能还有助于根据多列的要求对数据进行排序。这是一个示例,该记录按照“名称”列按降序排列,然后按“ id”列按升序排列。如果查询标识具有相同名称的记录,则它可以基于“ id”以升序对所有记录进行排序。

    SELECT id, name
    
    FROM animal
    
    ORDER BY name DESC, id;

    9.在不包含NULL的特定列中获取数据

    针对初学者的SQL查询还包括仅从特定列中没有“ NULL”的行中检索数据的功能。只需使用“ IS NOT NULL”,即可完成工作。这是一个例子

    SELECT name, color
    
    FROM clothing
    
    WHERE color IS NOT NULL;

    此示例查询表明,“颜色”列中的值不能为“ NULL”。它返回值存储在“颜色”列中的记录。

    10.基于一列对数据进行排序

    针对该目标的示例SQL查询将要求在列名后加上“ ORDER BY”。此查询中的默认排序方法为字母顺序。但是,可以使用“ DESC”,后跟列名以降序显示行。以下示例有助于在“名称”列的基础上将数据分类到“ id”和“ name”列中。

    SELECT id, name
    
    FROM animal
    
    ORDER BY name;

    11.在一个字符串中连接文本列中的值

    “ CONCAT”功能起到连接字符串的作用。以下示例查询在“名称”和“类别”列中返回字符串,并作为单个字符串列进行连接。单列在“名称”列和“类别”列中的值之间有一个空格。

    SELECT CONCAT (name, ‘,’ category)
    
    FROM tab;

    12.确定符合特定模式的价值

    通过使用“ LIKE”,针对初学者的SQL查询可以帮助从符合特定模式的表中获取数据。以下示例查询有助于从“名称”和“ id”列中检索记录,这些记录包含在“名称”列中包含字符“ b”的字符串。

    SELECT id, name
    
    FROM animal
    
    WHERE name LIKE ‘%b%’;

    13.数学运算符

    针对初学者的SQL查询还可以包括数学运算符的使用。数学运算符(例如“ +”,“ *”,“ /”和“-”)有助于对表中的数据执行算术运算。以下示例查询从产品的“价格”中减去“折扣”。

    SELECT price – discount
    
    FROM product;

    14.使用表和列的别名

    表和列名的别名可以帮助连接表。下面的示例连接两个表“ city”和“ customer”。

    SELECT c.last_name AS lname, t.name AS city
    
    FROM customer AS c
    
    INNER JOIN city AS t
    
      ON c.id = t.customer_id;

    15.确定列中的平均值

    AVG可以帮助计算列中的平均值。这是一个相同的查询示例,

    SELECT AVG (price)
    
    FROM product;

    16.计算行数

    这也是使用“ COUNT”的初学者的基本SQL查询之一。以下示例查询从存储在“ product”表中的“ id”列中返回值的数量,

    SELECT COUNT (id)
    
    FROM product;

    17.确定列中的值之和

    SUM命令可以帮助计算列的值,如以下示例查询所示,

    SELECT SUM (price)
    
    FROM product;

    18.查找数据集的交集

    INTERSECT可以帮助返回两个数据集的交集的值。这是用于检索两个表中列出的姓氏的示例查询。

    SELECT last_name FROM customer
    
    INTERSECT
    
    SELECT last_name FROM employee;

    19.从各个表中添加数据

    仅当记录属于相似数据类型时,UNION ALL运算符才能帮助从各种表中联接记录。下面的示例返回“ customer”表和“ employee”表中具有姓氏的所有行。

    SELECT last_name FROM customer
    
    UNION ALL
    
    SELECT last_name FROM employee;

    你可以使用UNION而不是UNION ALL来选择所有没有重复值的姓氏。

    20.确定列中的最大值

    SQL初学者的基本命令是“ MAX”,可帮助查找列中的最大值。这是用于查找产品最高价格的SQL查询示例。

    SELECT MAX (price)
    
    FROM product;

    21.确定列中的最小值

    “ MIN”命令可以帮助查找列中的最小值。这是一个示例查询,用于查找产品的最低价格

    SELECT MIN (price)
    
    FROM product;

    22.从表中删除数据

    你可以使用以下示例查询从表中删除所有数据,

    DELETE FROM table1;

    23.将数据插入表

    可以通过“ INSERT INTO”命令将新记录添加到表中。以下示例查询有助于在“ id”中插入15,在“ name”中插入瓶子,在“ product”表的“ category”中插入厨房用品。

    INSERT INTO product(id, name, category)
    
    VALUES (15, 'bottle', 'kitchen supplies');

    24.更新列

    这是一个示例查询,用于将“公司”列中的所有值修改为“ XYZ”。

    UPDATE product SET company = ‘XYZ’;

    25.在记录过滤的基础上更新列

    以下示例查询有助于指定要修改的记录。

    UPDATE product
    
    SET name = ‘bottle’
    
    WHERE id = 15;

    26.删除表

    “ DROP TABLE”命令可以帮助删除表。这是删除“ table1”的示例查询,

    DROP TABLE table1;

    27.数据库备份

    以下SQL查询可以帮助你在需要时创建用于数据库备份的脚本,

    BACKUP DATABASE db_name
    
    TO DISK = "/home/databases/db_name-backup.db";

    28.重命名表

    以下示例查询可帮助根据SQL版本和权限重命名表,

    sp_RENAME authors authors_renamed;

    29.改变字符串大小写

    SQL查询可以使用UPPER()和LOWER()函数以大写或小写形式显示表的输出。例如,

    SELECT UPPER(author_name) FROM authors;
    
    SELECT LOWER(author_name) FROM authors;

    30.验证值是数字

    如果要检查特定值是否为数字,则可以使用ISNUMERIC函数。例如,

    SELECT ISNUMERIC (34);

    结论

    上面提到的条目是初学者和专业人士最常用的SQL查询。实际上,它们是SQL入门技巧和技巧的重要补充。这些查询有助于使用表执行简单的任务,例如创建表和数据库,更新列,检索数据以及删除表。希望这篇文章能带你了解更多关于 SQL 的基本知识,如果对你有帮助,最好能够关注、点赞、转发一键三连支持一下。

    如果以上内容对你有所帮助,请关注我的专栏:

    从头学习大数据zhuanlan.zhihu.com
    0df67ff961197c733a631079b46ebb00.png

    如果有其他疑问,直接私我,或加入大数据学习圈:

    海牛大数据集训营 - 知乎www.zhihu.com
    ea1f5dcfd9d5849a0b1757a1b6312111.png
    展开全文
  • 数据库操作 查看已存在的数据库: show databases;...表的一切操作是在数据库中,故应该先选中一个数据库!!! 查看表的信息: show create table 表名 \G describe 表名; 创建表:“属...

    数据库操作

    查看已存在的数据库show databases;
    创建数据库create database 数据库名; / create schema 数据库名;
    删除数据库drop database 数据库名;
    选中数据库use 数据库名;

    表操作

    表的一切操作是在数据库中,故应该先选中一个数据库!!!
    查看表的信息

    1.show create table 表名 \G
    2.describe 表名;

    创建表:“属性名”表示表中的字段名;“数据类型”表示指定字段的数据类型

    create table 表名 (属性名 数据类型 [完整性约束条件],
    			属性名 数据类型 [完整性约束条件],
    			.....
    			 属性名 数据类型 [完整性约束条件]);

    删除表

    1. 没有被关联的表 drop table 表名;
    2. 删除被其它表关联的父表 ?
      先查看子表的表结构找到外键,去除子表的外键,再移除父表
    show create table 子表名;
    alter table 子表名 drop foreign key 外键名;
    drop table 父表名;

    设置主键
    主键必须满足的条件就是唯一性、非空值!!!
    1.单字段设置主键:属性名 数据类型 primary key;
    可以直接在该创建该表时,在字段后边加上primary key来为该字段添加主键
    2.多字段设置主键:primary key(属性名1,属性名2,……,属性名n);
    在属性定义完之后同一设置主键
    设置外键
    外键必须依赖于数据库中已存在的父表的主键、可为空值。

    constraint 外键别名 foreign key (属性名1,属性名2,……,属性名n) references 表名(属性名1,属性名2,……,属性名n);
    

    前边的属性是子表中设置的外键;表名是父表的名称;后边的属性列表是父表的主键
    子表的外键关联的必须是父表的主键,而且,数据类型必须是一致的
    设置表的非空约束
    创建表的时候在数据类型字段后边添加 not null;

    属性名 数据类型 not null;
    

    设置表的唯一性约束
    指所有记录中该字段的值不能重复出现。

    属性名 数据类型 unique;
    

    设置表的属性值为自增
    auto_increment 是 MySQL数据库中一个特殊的约束条件。一个表只能有一个字段使用auto_increment 约束,且该字段必须为主键的一部分
    在插入记录是,默认自增字段是从1开始自增的;如果第一条记录设置了该字段的处置,则新增加的记录就从处置开始自增。
    如果新添加数据的自增字段值大于该字段最后一个值,则添加字段成功

    属性名 数据类型 auto_increment ;
    

    设置表的属性的默认值

    属性名 数据类型 default 默认值;
    
    展开全文
  • 我们也可以将数据库理解为一个电子版文件柜,用户可以通过计算机操作对文件柜中所存放文件进行新增,查询,更改,删除等操作。 什么是数据库管理系统? 数据库管理系统(Database Management System 简称为DBMS .....

    什么是数据库?

    数据库其英文名称为(database)简称为DB,其是一种以以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余度,与应用程序彼此独立的数据集合。我们也可以将数据库理解为一个电子版文件柜,用户可以通过计算机操作对文件柜中所存放的文件进行新增,查询,更改,删除等操作。

    什么是数据库管理系统?

    数据库管理系统(Database Management System 简称为DBMS ),它是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系用可以依据它所支持的数据库模型来作以分类,也可依据所支持的计算机类型来做分类,也可依据所用的查询语言来进行分类,分类方式可以选择很多,但是,无论我们使用哪种分类方式,我们要知道,一些DBMS是可以支持跨类别的,例如一些数据库管理系统就支持多种语言查询。

    当下流行的一些数据库的分类

    关系型数据库 非关系型数据库
    MySQL BigTable(google)
    PostgerSQL Cassandra
    Microsoft SQL server mongoDB
    Oracel couchDB
    Sybase Apache Cassandra
    dBASE Dynamo
    foshub LevelDB

    可见我们学习的这个MySQL是一种典型的关系型数据库

    数据库模型

    • 对象模型
    • 层次模型(轻量级数据访问协议)
    • 网状模型(大型数据存储)
    • 关系模型
    • 面向对象模型
    • 半结构化模型
    • 平面模型(表格模型,一般在形式上是一个二维数组)

    数据库的架构

    数据库的架构大致可以分为三个概括层次:内层,概念层和外层。

    • 内层:最接近实际的存储体,就是有关数据的真实存储方式。
    • 外层:最接近用户,就是用户查看数据的方式。
    • 概念层:介于两者之间的间接层。

    MySQL数据库简介

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

    MySQL的安装及连接

    具体步骤为:
    1.下载得到MySQL的安装压缩包 下载官网 : https://www.mysql.com/
    得到一个这样子的安装包后选择好解压
    得到一个这样子的安装包后选择好解压
    2.解压好之后将文件bin目录的路径添加到系统的环境变量path中

    在这里插入图片描述
    在这里插入图片描述
    桌面上右键“我的电脑”选择属性,点击“高级系统设置”
    在这里插入图片描述

    打开后选择环境变量
    在这里插入图片描述

    双击系统变量中的path
    在这里插入图片描述
    之后选择新建,粘贴复制的路径
    在这里插入图片描述
    在bin目录的上级目录新建文件"my.ini",文件编辑以下内容后保存(注意文件保存时的编码格式一定要是ANSI,这个在保存的时候有提示)。

    		 [mysqld]
    		 basedir=D:\Program Files\mysql-5.7\    //等号后面的内容就是你自己的解压路径
    		 datadir=D:\Program Files\mysql-5.7\data\     //等号后面的内容就是你自己的解压路径
    		 port=3306
    		 skip-grant-tables
    

    3.然后在运行框输入cmd,右键点击程序选择以管理员身份打开命令窗口(否则之后对MySQL的指令会回复MySQL拒绝访问)将路径切换至mysql下的bin目录(这里是使用dos命令来进行操作),然后输入mysqld –install (安装mysql)
    再输入 mysqld --initialize-insecure --user=mysql 初始化数据文件
    4.然后使用命令 net start mysql启动mysql 然后用命令 mysql –uroot –p 进入mysql管理界面(密码可为空)
    5.进入界面后输入语句:update mysql.user set authentication_string=password(‘123456’) where user=‘root’ and Host = ‘localhost’; 这里我们是将登陆连接MySQL的密码改成了123456
    6.修改完成后,在输入 flush privileges; 刷新权限。
    7.将刚才的my.ini文件内的最后一句“skip-grant-tables”删除后保存文件。
    8. 输入 exit 退出Mysql。
    9.输入 net stop mysql 终止mysql服务。
    9.重启 MySQL 同样的我们以管理元 身份打开命令窗口,然后输 net start mysql
    10.重启MySQL,然后使用命令 mysql -uroot -p123456 就可以成功进入MySQL服务。
    最终成功显示页面
    在这里插入图片描述

    安装MySQL其实类同于安装其他的一些软件编译工具一般,大致过程都是解压压缩包,然后配置环境变量,最后校验登陆。当然过程本身没有任何的难度,关键问题是如果在安装过程中根据个人不同会遇到各种各样的其他问题,比如说,有的个人电脑少了一些驱动,需要补丁修复,有的安装时重复安装,服务无法启动此类问题。这些问题,基本上在网络问答上都有解决,我建议是遇到问题首先核对自己的操作是否符合流程,以及内容有没有疏忽遗漏,检查无误在考虑其他的因素。当然,一般时么有问题的啦。

    mysql命令操作

    首先我们试一下几个最简单的命令操作:

    update user set password=password('123456')where user='root'; 修改密码
    flush privileges;  刷新数据库
    show databases; 显示所有数据库
    use dbname; 打开某个数据库
    show tables; 显示数据库mysql中所有的表
    describe user; 显示表mysql数据库中user表的列信息
    create database name; 创建数据库
    use databasename; 选择数据库
    
    exit; 退出Mysql
    ? 命令关键词 : 寻求帮助
    # 表示注释
    

    这些命令都可以在命令窗口直接输入,回车后即可执行,保证输入的命令正确,则可以执行指令。
    接下来我们可以通过以上指令来进行一个名为class的数据库名称创建,然后还需要在此数据库中创建一个一个student表,里面有三列,记录上学生的姓名和性别以及年龄,这是一个最为简单的数据库中的表的创建。
    创建数据库,库名为class
    在这里插入图片描述
    这样我们就成功创建了一个新的数据库,但这个数据库里什么数据表都没有,目前就是一个空的数据库;所以我们现在创建一个数据表将并将其放入该数据库;
    创建数据表的语句

    create table [if not exists] `表名`(
        '字段名1' 列类型 [属性][索引][注释],
        '字段名2' 列类型 [属性][索引][注释],
        #...
        '字段名n' 列类型 [属性][索引][注释]
    )[表类型][表字符集][注释];
    

    1.字段名表示的就是你所要创建的数据表的每列的列名称。
    2.列类型用来规定该列所存数据的数据类型,SQL语句中的数据类型大致可以分为四大类

    • 数值类型
    类型 说明 存储需求
    tinyint 非常小的数据 1字节
    smallint 较小的数据 2字节
    mediumint 中等大小的数据 3字节
    int 标准整数 4字节
    bigint 较大的整数 8字节
    float 单精度浮点数 4字节
    double 双精度浮点数 8字节
    decimal 字符串形式的浮点数 m个字节
    • 字符串类型
    类型 说明 最大长度
    char(M) 固定长度的字符串,检索快,但费空间(M<=225) M字符
    varchar(M) 可变字符串(M<=65535) 可变长度,长度值可以小于等于M
    tinytext 微型文本串 1023字节
    text 文本串 1048575字节
    • 日期和时间型数值类型
    类型 说明 取值范围
    DATE YYYY-MM-DD,日期格式 1000-01-01~9999-12-31
    TIME hh:mm:ss,时间格式 -838:59:59~838:59:59
    DATETIME YY-MM-DD hh:mm:ss 1001-01-01 00:00:00至9999-12-31 23:59:59
    TIMESTAMP YYYYMMDDhhmmss格式表示的时间戳 197010101000000~2037年的某个时刻
    YEAR YYYY格式的年份值 1901~2155
    • NULL值(就是么有值或者是未知值,注意不要用NULL进行算术运算,运算结果仍然为NULL)
      3.数据字段属性
    属性名称 属性作用
    UnSigned 无符号的,声明该数据列不允许负数
    ZEROFILL 0填充的,不足位数用0来进行填充
    Auto_InCrement 自动增长的,每添加一条数据,自动在上一个记录数上加1,通常用于设置主键,且为整数类型,单也可定义起始值和设置步长(AUTO_INCREMENT=100)此类设置只影响当前表;SET @@AUTO_INCREMENT_INCREMENT=100;影响所有使用自增的表(此步长值使用到全局的表)
    NULL和NOT NULL 默认值为NULL,即没有插入该列的数值,如果设置为 NOT NULL 则该列必须有值
    DEFAULT 默认的,用于设置该列的默认值

    接下来我们就要在之前创建的class数据库中加入一个数据表了
    先选中数据库class,我们要先进入这个数据库
    在这里插入图片描述
    然后开始创建我们想要表的结构
    在这里插入图片描述
    输入 DESC student; 查看表的结构
    在这里插入图片描述
    并且这里我们注意在创建表的结构的时候,最后一行的指令
    ENGINE=InnoDB DEFUALT CHARSET=utf8
    这两句指令是明确了数据表的类型(也就是该表的引擎类型),数据表类型可以分为MyISAM , InnoDB , HEAP , BOB , CSV等…常见的 MyISAM 与 InnoDB 类型

    名称 MyISAM InnoDB
    事务处理 不支持 支持
    数据行锁定 不支持 支持
    外键约束 不支持 支持
    全文索引 支持 不支持
    表空间大小 较小 较大,约两倍

    适用场合:

    • 适用MyISAM : 节约空间及相应速度
    • 适用InnoDB : 安全性 , 事务处理及多用户操作数据表
      数据表的存储位置 :
      MySQL数据表以文件方式存放在磁盘中
      包括表文件 , 数据文件 , 以及数据库的选项文件
      位置 : Mysql安装目录\data\下存放数据表 . 目录名对应数据库名 , 该目录下文件名对应数据表 .
      注意 :
      InnoDB类型数据表只有一个 *.frm文件 , 以及上一级目录的ibdata1文件
      MyISAM类型数据表对应三个文件 :
    • . frm – 表结构定义文件
    • . MYD – 数据文件(data)
    • . MYI – 索引文件(index)
      在这里插入图片描述
      接下来我们可以对我们的表进行一些小修改,比如说我们现在还想知道学生的个人电话号码,这就得我们往已有的表里添加一个字段,这里,我们使用ALTER 语句进行操作;
      修改表( ALTER TABLE )
    • 修改表名 :
      ALTER TABLE 旧表名 RENAME AS 新表名
    • 添加字段 :
      ALTER TABLE 表名 ADD字段名 列属性[属性]
    • 修改字段 :
      ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
      ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]
    • 删除字段 :
      ALTER TABLE 表名 DROP 字段名
      这里我们通过指令来添加字段:
      在这里插入图片描述
      再看看表的结构:
      在这里插入图片描述
      可见我们添加成功了;
    展开全文
  • 在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表、视图一样删除数据文件方法,数据文件是空间一部分,所以不能“移走”空间。   一、使用offline数据文件方法 非归档模式使用:alter ...
  • 关于MYSQL的基本命令

    2016-10-01 22:07:21
    注意,在删除表的同时,表的定义和表中所有的数据均会被删除。因此,在进行删除前,最好对表中的数据做个备份,以免造成无法挽回的后果。 (1)删除没有被关联的表 DROP TABLE [IF EXISTS]表1,表2,...表n; 参数“IF ...
  • 命令对象一般是指要处理文件、目录、用户等资源,而命令参数可以用长格式(完整选项名称),也可以用短格式(单个字母缩写),两者分别用–与-作为前缀(示例请见下)。Linux新手不会执行命令大多是因...
  • 1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除... 表的详细描述 或者是 show columns from tablename ;select 中加上distinct去除重复字段mysqla...
  • 不断更新中...不足之处请多指点。 1.查看表结构字段  hive>desc tablename;...2.在Hive中执行Hadoop的dfs命令  只需要将hadoop命令中的关键字'hadoop','... hive默认是创建内部表,即表的存放位置是在hive.metas
  • 关于MySQL数据表的操作是计算机软件行业中必备的技能之一,学好数据库在软件行业对于自身发展更是毋庸置疑,话不多说,开始放技能。 home键+R --&gt;输入cmd--&gt;进入doc命令界面--&gt;输入进入mysql...
  • Hive基本命令

    2020-11-10 00:58:24
    表的基本操作1. 新建数据库2. 删除数据库3. 显示数据库4. 指定使用数据库5. 创建内部表6. 创建外部表7. 导入数据 load 命令8. 创建分区表 partitioned by ()二. 表的查询和连接0. 准备工作 (准备数据,建表,导入...
  • VFP自由表的创建、维护命令实例

    千次阅读 2018-10-18 19:47:28
    这是上机课上做的,主要是为了熟悉表的各种命令,现在VFP用的人也比较少了,分享一下基本命令的具体写法吧。(顺便吐槽一下,VFP里面的汉字复制到wold里面是乱码的,~字母是没有问题的) 以下是基于实际例子的操作。...
  • 1、MySQL数据库进行操作 进入数据库: ...创建数据库: CREATE DATEBASE 数据库名; 查看数据库列表: SHOW DATABASES; 选择进入数据库: USE 数据库;...2、MySQL数据表基本操作 创建数据库: CREATE ...
  • 文章目录MySQL数据表的基本操作MySQL创建数据表基本语法MySQL 修改数据表修改表名修改表字符集MySQL修改/删除字段修改字段名称修改字段数据类型删除字段MySQL删除数据表基本语法MySQL删除被其它表关联的主表MySQL...
  • 在创建表格后,在后期对数据库表的管理工作中,表的维护、修改是重要工作,如增加一个新列,删除一列,修改某属性的数据类型等,本篇文章总结MySQL数据库表管理的基本操作。包括复制和删除表,新增、修改、删除列等...
  • 【单选题】SQL 语言包括数据定义语言(DDL)、数据操纵语言()和数据控制语言(DCL)。【简答题】数据库的完整性有哪些?...【单选题】MySQL 语言中,更新数据的命令是( )。【单选题】以下关于外键和相应的主键...
  • PostgreSQL删除表

    2019-10-03 21:48:25
    PostgreSQL的DROP TABLE语句是用来删除表定义及其所有相关的数据表的索引,规则,触发器和约束。 必须使用此命令时要小心,因为一旦一个表被删除表中提供的所有信息也将被永远失去了。 语法: DROP TABLE...
  • MySQL基础-创建-删除-修改基本命令 数据库基础相关 SQL:Structure Query Language-结构化查询语言 DDL:数据定义语言:定义数据库,数据它们结构:create(创建)drop(删除)alter(修改) DML:数据操纵...
  • 一、基本概念 数据库(DataBase,简称DB) 概念 : 数据库就是长期存放在计算机内,有组织,可共享大量数据集合,是一个数据"仓库"。 作用 : 保存数据,并能让用户安全管理数据(如:新增、查询、更新、删除等操作),减少...
  • MySQL 基本命令

    2016-08-23 11:40:00
    1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除... 表的详细描述 或者是 show columns from tablename ;select 中加上distinct去除重复字段mysqla...
  • 1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除... 表的详细描述 或者是 show columns from tablename ;select 中加上distinct去除重复字段mysqla...
  • sql脚本是包含一到多个sql命令的sql语句,将这些sql脚本放在一个文件中,然后通过相关的命令执行这个sql脚本文件。 SQL脚本可用于插入数据,读取数据,更新数据,和删除数据。它们也可以用于创建数据库对象,如,...
  • sql基本命令

    2017-06-04 17:00:30
    SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于...SELECT - 从数据库中获取数据UPDATE - 更新数据库数据DELETE - 从数据库中删
  • MySQL基本命令

    2018-07-28 11:13:32
    DDL 语句是操作数据库对象语句,包括创建(create)、删除(drop)和修改(alter)数据库对象。 常见数据库对象: 1. 创建 标准建表语句语法如下: create table [模式名.]表名 ( #可以有多个列...
  • Hbase是分布式是一个分布式、面向列开源数据库,Hbase也提供了Shell命令对数据库增、删、改、查权限的基本操作,比如数据库创建、修改、删除、修改操作等,数据插入、删除、修改等。 Help 帮助命令 ...
  • 关键词: 视图 事物 索引 外键 视图 视图的本质是对查询的封装 视图的用途就是查询 ...要求:表的引擎类型必须是innodb类型才可以使用事务,这是mysql表的默认引擎 查看表的创建语句,可以看到en...
  • ORACLE 表空间操作和表的删除(一)

    千次阅读 2018-03-28 23:17:48
    最近在用IMP 命令导入dmp数据时候,发现空间无法扩展,一查,才发现空间SYSTEM已经使用了31.2G。 经过查找资料,总结如下: 1.一般不在SYSTEM空间存放业务数据; 2.SYSTEM空间最大值是32G;-----所有...
  • 文章目录一、数据库的基本概念1、数据库组成2、数据库管理系统(DBMS)3、数据库系统(DBS)二、当今主流数据库三、关系型数据库介绍1、关系数据库系统是基于关系模型数据库系统2、关系模型数据结构使用简单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 582
精华内容 232
关键字:

删除基本表的命令是