zoukankan      html  css  js  c++  java
  • MySQL基础

    SQL基本的用法

    #查看和选择数据库
    1.查看数据库服务器存在哪些数据库:

    SHOW DATABASES;

    2.使用指定的数据库:

    USE database_name;

    3.查看指定的数据库中有哪些数据表:

    SHOW TABLES;

    4.创建和删除数据库
    创建指定名称的数据库:

    CREATE DATABASE database_name;

    5.删除数据库:

    DROP DATABASE database_name;

    6.创建表(CREATE TABLE TABLE_NAME (列名1 类型,列名2 类型))

    CREATE TABLE Employee (id INT PRIMARY KEY AUTO_INCREMENT UNIQUE, name VARCHAR(20) NOT NULL DEFAULT '张三');
    
    CREATE TABLE Employee (id INT AUTO_INCREMENT UNIQUE, name VARCHAR(20) NOT NULL DEFAULT '张三',PRIMARY KEY (id));

    7.权限:

    # GRANT: 授权
    # 创建用户的时候同时授权
    GRANT ALL PRIVILEGES #把所有的权限授权
    ON mysqltest                  #到数据库
    TO admin@'%'                 #访问的用户名和访问的ip
    IDENTIFIED BY '0000' #设置访问的密码
    WITH GRANT OPTION;   #附带下发权限的授权

    8.查看权限:

    GRANT ALL PRIVILEGES ON *.* 
    TO 'root'@'localhost' 
    IDENTIFIED BY PASSWORD 
    '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' 
    WITH GRANT OPTION

    9.查看特定用户的权限:

    show grants for admin@'%';

    10.删除用户:

    DROP USER admin@'%';

    11.简单查询:

    SELECT 6+1 FROM DUAL;

    注意:运行结果为:

    12.string :
      ①、字符串要用单引号扩起来
      ②、数字类型直接书写
      ③、字符串是大小写不敏感的,
      ④、字符串敏感,需要添加 binary 关键字
    BINARY
    SELECT e_id FROM t_employee WHERE BINARY e_name='c';
    此时的'c'就会区分大小写了

    13.Date:

    SELECT CURRENT_DATE(); // 获取当前日期函数
    SELECT CURRENT_DATE;
    SELECT CURDATE();
    SELECT CURRENT_TIME();//获取当前时间
    SELECT CURRENT_TIME;
    SELECT CURTIME();
    SELECT now();//获取当前(日期+时间)

    14.插入一个日期的时候必须按照默认的格式进行插入

    INSERT INTO t_employee (e_date) VALUES ('2017-03-20');

    15.投影查询(也就是普通的查询,只不过将表中的某些列展示出来)

    SELECT e_id FROM t_employee WHERE  e_name='c';

    16.算数运算符
      ①. 数字类型的数据可以使用算数运算符进行运算
      ②. date类型可以使用算术运算符中的 + 和 -, 不能使用 * 和 /, 操作的单位是`天`;

    SELECT CURRENT_DATE(), CURRENT_DATE() + 1;

    结果展示:

     

    17. NULL
      ①、空值是指不可用、未分配的值,代表没有值,也是一种特殊的值。
      ②、空值不等于零或空格
      ③、任意类型都可以支持空值,也就是说任何类型的字段都可以允许空值作为值的存在
          注意:  包括空值的任何算术表达式都等于空
    18.常用比较运算符;
         ①.BETWEEN AND:在两值之间 (包含开始和结尾);
         ②.IN(list):匹配列出的值;
         ③.LIKE :匹配字符串模式;
            1)-通配符:   1:`_`:一个字符
                                2:`%`:0个或多个字符

    a,//以Xx开头:  'x%'     b,//以Xx结尾:  '%x'    c,//包含Xx:     '%x%'    d,//以X_开头:  '%x_'  

            2)-转义符:ESCAPE: 表示后面的字符是一个转义符
         ④IS [NOT] NULL:是否[不为]为空;
    19.查询薪资为(895285)和(213456)的员工;

    SELECT * FROM t_employee WHERE e_salary IN (895285, 213456);

    20.所有以·ja·开头的员工的姓名;

    SELECT e_name FROM t_employee WHERE e_name LIKE 'ja%';

    21.使用转义的方式解决特殊字符问题;

    SELECT e_name FROM t_employee WHERE e_name LIKE '%\_%';

    22.使用关键字ESCAPE解决特殊字符问题;

    SELECT e_name FROM t_employee WHERE e_name LIKE '%$_%' ESCAPE '$';

    23.ORDER BY;排序(默认升序) ,(ASC(升)/DESC(降)) 

    SELECT * FROM t_employee ORDER BY e_salary;
  • 相关阅读:
    DRUPAL-PSA-CORE-2014-005 && CVE-2014-3704 Drupal 7.31 SQL Injection Vulnerability /includes/database/database.inc Analysis
    WDCP(WDlinux Control Panel) mysql/add_user.php、mysql/add_db.php Authentication Loss
    Penetration Testing、Security Testing、Automation Testing
    Tomcat Server Configuration Automation Reinforcement
    Xcon2014 && Geekpwn2014
    phpMyadmin /scripts/setup.php Remote Code Injection && Execution CVE-2009-1151
    Linux System Log Collection、Log Integration、Log Analysis System Building Learning
    The Linux Process Principle,NameSpace, PID、TID、PGID、PPID、SID、TID、TTY
    Windows Management Instrumentation WMI Security Technology Learning
    IIS FTP Server Anonymous Writeable Reinforcement, WEBDAV Anonymous Writeable Reinforcement(undone)
  • 原文地址:https://www.cnblogs.com/zhang-bo/p/6591166.html
Copyright © 2011-2022 走看看