MySQL入门——sql语言

MySQL入门——sql语言

4、sql语言

什么是sql语言?

SQL是一种结构化查询语言,全称是Structured Query Language,是一种用于存取数据以及查询、更新和管理关系数据库系统的计算机语言 。SQL语言是针对数据库而言的一门语言,它可以创建数据库、数据表,可以针对数据库进行增、删、改、查等操作,可以创建视图、存储过程,可以赋予用户权限等 。

具体如何使用呢?

SQL语言按其功能分为四个部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能 。其中,数据定义功能包括创建、修改和删除数据库、表等对象;数据控制功能包括授权和撤销用户对数据库的访问权限;数据查询功能包括查询、插入、更新和删除数据;数据操纵功能包括对数据的增、删、改、查等操作 。

4.1 数据定义功能
  • 数据定义功能:用于定义、删除和修改数据库中的对象,如数据库、表等。常用的DDL命令有CREATE、ALTER和DROP等。CREATE(创建)、ALTER(修改)、 DROP(删除)

    4.1.2 CREATE命令用于创建数据库、表等对象。常用的子命令有:

    • DATABASE:创建数据库。
    • TABLE:创建表。
    • INDEX:创建索引。
    • COLUMN:添加列。
    • VIEW:创建视图。

    例如,要创建一个名为“test”的数据库,可以使用以下命令:

    CREATE DATABASE test;   
    

    以上命令将创建一个名为“test”的数据库。如果要在该数据库中创建一个名为“users”的表,可以使用以下命令:

    USE test;
    CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50), age INT);   
    

    以上命令将在“test”数据库中创建一个名为“users”的表,该表包含三个列:id、name和age。其中,id列是主键,name列是长度为50的字符串,age列是整数类型。

    4.1.3 ALTER命令用于修改数据库、表等对象的属性。常用的子命令有:

    • ADD:添加列。
    • ALTER COLUMN:修改列。
    • DROP COLUMN:删除列。
    • ADD INDEX:添加索引。
    • ALTER INDEX:修改索引。
    • DROP INDEX:删除索引。

    例如,要给“test”表中的“age”列添加一个数据类型为INT的约束,可以使用以下命令

    ALTER TABLE test ADD CONSTRAINT age_int CHECK (age >= 0 AND age <= 150);
    

    以上命令将添加一个名为“age_int”的约束,该约束要求“age”列的值在0到150之间(包括0和150)。如果插入或更新的数据不符合该约束条件,则操作将被拒绝并显示错误信息。

​ 4.1.4 DROP命令用于删除数据库、表等对象。常用的子命令有:

  • DATABASE:删除数据库。
  • TABLE:删除表。
  • INDEX:删除索引。

例如,要删除名为“test”的数据库,可以使用以下命令:

DROP DATABASE test;   

以上命令将删除名为“test”的数据库及其所有相关的表和索引。如果要删除名为“users”的表,可以使用以下命令:

USE test;
DROP TABLE users;    

以上命令将在“test”数据库中删除名为“users”的表。注意,在执行DROP命令之前,必须确保没有正在使用该表或数据库的操作正在进行,否则操作将被拒绝并显示错误信息。

4.2 数据控制功能
  • 数据控制功能:用于授权和撤销用户对数据库的访问权限。常用的DCL命令有GRANT和REVOKE等。

    4.2.1 GRANT命令用于授权用户或用户组在数据库中执行特定操作的权限,如SELECT、INSERT、UPDATE、DELETE等。常用的子命令有:

    • SELECT:授予用户查询数据的权限。
    • INSERT:授予用户向表中插入数据的权限。
    • UPDATE:授予用户更新表中数据的权限。
    • DELETE:授予用户从表中删除数据的权限。
    • ALL PRIVILEGES:授予用户所有权限。

    例如,要授予名为“user1”的用户在“test”数据库中查询数据的权限,可以使用以下命令:

    GRANT SELECT ON test TO user1;    
    

    以上命令将授予名为“user1”的用户在“test”数据库中查询数据的权限。如果要授予用户所有权限,可以使用以下命令:

    GRANT ALL PRIVILEGES ON test TO user1;   
    

    以上命令将授予名为“user1”的用户在“test”数据库中所有权限。

    4.2.2 REVOKE命令用于撤销用户或用户组在数据库中执行特定操作的权限,如SELECT、INSERT、UPDATE、DELETE等。常用的子命令有:

    • SELECT:撤销用户查询数据的权限。
    • INSERT:撤销用户向表中插入数据的权限。
    • UPDATE:撤销用户更新表中数据的权限。
    • DELETE:撤销用户从表中删除数据的权限。

    例如,要撤销名为“user1”的用户在“test”数据库中查询数据的权限,可以使用以下命令:

    REVOKE SELECT ON test FROM user1;    
    

    以上命令将撤销名为“user1”的用户在“test”数据库中查询数据的权限。如果要撤销用户所有权限,可以使用以下命令:

    REVOKE ALL PRIVILEGES ON test FROM user1;   
    

    以上命令将撤销名为“user1”的用户在“test”数据库中所有权限。

4.3 数据查询功能
  • 数据查询功能:用于查询、插入、更新和删除数据。常用的DQL命令有SELECT等。

    SELECT命令用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。常用的子命令有:

    • 查询列:如果我们想要对数据表中的某一列进行检索,在SELECT后面加上这个列的字段名即可。

    • 起别名:在使用SELECT查询的时候,还有一些技巧可以使用,比如你可以给列名起别名。

    • 查询常数:SELECT查询还可以对常数进行查询。

    • 去除重复行:关于单个表的SELECT查询,还有一个非常实用的操作,就是从结果中去掉重复的行。

    • 排序检索数据:当我们检索数据的时候,有时候需要按照某种顺序进行结果的返回,比如我们想要查询所有的英雄,按照最大生命从高到底的顺序进行排列,就需要使用ORDER BY子句。

    • 约束返回结果的数量:另外在查询过程中,我们可以约束返回结果的数量,使用LIMIT关键字。

      以下是SELECT命令的使用示例:

      • 查询列:SELECT name, age FROM students;
      • 起别名:SELECT name AS n, age AS y FROM students;
      • 查询常数:SELECT 3+4;
      • 去除重复行:SELECT DISTINCT name FROM students;
      • 排序检索数据:SELECT * FROM students ORDER BY age DESC;注:默认是ASC(正序)、现在使用的DESC意为结果倒序展示
4.4 数据操纵功能
  • 数据操纵功能:用于对数据的增、删、改、查等操作。常用的DML命令有INSERT、UPDATE、DELETE等。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值