• MySQL之账号管理


    目录

    一、SQL简述

    1.SQL的概述

    2.SQL的优点 

    二、数据库的三大范式 

    三、 账号管理

     四、SQL基础语句

           五、案例


    一、SQL简述

    1.SQL的概述


    Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。

    2.SQL的优点 


    1、简单易学,具有很强的操作性
    2、绝大多数重要的数据库管理系统均支持SQL
    3、高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成
     

    二、数据库的三大范式 


    1、第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据线;也就是说:每列的值具有原子性,不可再分割。
    2、第二范式(2NF)是在第一范式(1NF)的基础上建立起来得,满足第二范式(2NF)必须先满足第一范式(1NF)。如果表是单主键,那么主键以外的列必须完全依赖于主键;如果表是复合主键,那么主键以外的列必须完全依赖于主键,不能仅依赖主键的一部分。
    3、第三范式(3NF)是在第二范式的基础上建立起来的,即满足第三范式必须要先满足第二范式。第三范式(3NF)要求:表中的非主键列必须和主键直接相关而不能间接相关;也就是说:非主键列之间不能相关依赖。
     

    三、 账号管理

    进入公司数据库是分权限的,假如有天你成为了经理或者。。。。那么授权啥的不得安排上。

    1. #创建用户----张三
    2. CREATE user zs;
    3. #查看用户信息
    4. select host,user,authentication_string from user;
    5. #设置密码
    6. ALTER USER 'zs'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    7. #赋予权限给用户
    8. grant all on studentmanager.* to 'zs'@'%'
    9. #收回权限
    10. revoke delete on studentmanager.* from 'zs'@'%'
    11. #查看所有权限
    12. show grants for 'zs'@'%'
    13. create user ls;
    14. ALTER USER 'ls'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    15. grant select,delete on studentmanager.tb_class to 'ls'@'%'
    16. CREATE DATABASE zhw
    17. #查询数据库版本
    18. select version()
    19. #查询数据库
    20. show databases;

     四、SQL基础语句

            建表

    1. CREATE TABLE book(
    2. id INT,#编号
    3. bName VARCHAR(20),#图书名
    4. price DOUBLE,#价格
    5. authorId INT,#作者编号
    6. publishDate DATETIME#出版日期)

            表的修改

    1. #①修改列名
    2. ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;
    3. #②修改列的类型或约束
    4. ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
    5. #③添加新列
    6. ALTER TABLE author ADD COLUMN annual DOUBLE;
    7. #④删除列
    8. ALTER TABLE book_author DROP COLUMN annual;
    9. #⑤修改表名
    10. ALTER TABLE author RENAME TO book_author;
    11. DESC book;

            表删除

    1. DROP TABLE IF EXISTS book_author;
    2. SHOW TABLES;

            表复制

    1. #1.仅仅复制表的结构
    2. CREATE TABLE copy LIKE author;
    3. #2.复制表的结构+数据
    4. CREATE TABLE copy2
    5. SELECT * FROM author;
    6. #只复制部分数据
    7. CREATE TABLE copy3
    8. SELECT id,au_name
    9. FROM author
    10. WHERE nation='中国';
    11. #仅仅复制某些字段
    12. CREATE TABLE copy4
    13. SELECT id,au_name
    14. FROM author
    15. WHERE 0;

           五、案例

     

     1、一月每笔消费满20元的总消费数

    select sum(order_amt) from t_user where user_id=(select distinct user_id from t_user where user_id not in (select user_id from t_user where  order_amt < 20 or not MONTH(ORDER_TIME) = 1))
    

    2、一月只点了麻辣烫和汉堡的人

     

  • 相关阅读:
    实验一. Java编程基础
    手写小程序摇树优化工具(七)——生成依赖图
    Spring核心设计与思想
    #力扣:20. 有效的括号@FDDLC
    SpringCloudGateway网关中各个过滤器的作用与介绍
    我的 ReactNative 开发利器: 常用命令总结
    【RuoYi-Vue-Plus】扩展笔记 05 - CentOS 8 配置 Jenkins + Docker 自动发布
    WAIC|九章云极DataCanvas公司携因果学习技术成果精彩亮相!
    拉格朗日多项式
    【推荐一款阿里开源的低代码工具,实用性极高!】
  • 原文地址:https://blog.csdn.net/qq_62331938/article/details/125555594