一、MySQL简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

二、安装完数据库后出现问题的解决方法

1、安装数据库:http://blog.csdn.net/topkipa/article/details/79097074

2、第一次安装完Mysql之后,输入 mysql -u root -p 回车,会提示你输入密码,

此处,关于修改初始的默认密码:http://blog.csdn.net/topkipa/article/details/79097074

3、安装完数据库之后,出现:ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement.  解决办法:

直接执行:set password=password('你自己设置的密码');

三、SQL语句

分类

sql可以划分为以下3个类别:

DDL:数据定义语句,定义着不同的数据段、数据库、表、列、索引等数据库对象。常用语句关键字主要包括create,drop,alter等
        DML语句:数据操纵语句用于添加、删除、更新、查询数据库记录。

DCL:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。

DDL:

(1)、连接数据库:
        >>>mysql -uroot -p 
        mysql代表客户端命令,-u后面跟连接的数据库用户,而-p表示需要输入密码。
        需要注意的是:
        ·命令的结束符用“:”或者“\g”结束
        ·客户端的连接ID,这个数据记录了MySQL服务到目前为止的连接次数,每个新连接会自动加1.
        ·通过"help"或者"\h"命令来显示帮助内容,通过"\c"命令来清除命令行buffer
        (2)、创建数据库
        >>>create database dbname:创建数据库
        >>>show databases:查看系统存在哪些数据库
        >>>use test1:选择数据库test1
        >>>show tables:查看test1数据库里的数据表
        (3)、删除数据库
        >>>drop database dbname;
        (4)、修改表:alter table****:

推荐使用图形化工具修改表结构。

DML语句

1、插入记录
        insert into tablename(field1,field2...) values (value1,value2...);
        insert into 后面也可以不指定字段名字,但是values后面的顺序应该和字段的排列顺序一致。
        2、更新记录
        update tablename set *****
        BEGIN
        DECLARE v_num INT DEFAULT 0;
        SELECT COUNT(nm_id) INTO v_num FROM jt_url WHERE vc_md5 = v_md5;
        IF v_num = 0 THEN
        INSERT INTO jt_url (
        dt_create,dt_update,vc_url,vc_title)
        VALUES (
        NOW(),NOW(),v_url,v_title);
        ELSE
        UPDATE jt_url SET
        dt_update = NOW(),
        vc_url = IF(LENGTH(TRIM(v_url))>0,v_url,vc_url),
        vc_title = IF(LENGTH(TRIM(v_title))>0,v_title,vc_title)
        WHERE vc_md5 = v_md5;
        END IF;
        END
        3、删除记录
        delete from tablename where ***
        4、查询:
        (1)、select * from tablename where ***
        (2)、排序和限制:
        利用order by 来实现按照某个字段进行排序,例如:
        select * from dbname where *** order by dt_create DESC LIMIT 0,1000
        其中DESC表示按照字段降序,而ASC表示按照字段升序排列。LIMIT表示只显示从第0位开始1000位结束的数据
        5、聚合
        select [field1,field2....] fun_name
        from tablename
        where ****
        GROUP BY field1,field2.....
        with rollup
        having *****
        其中,fun_name表示要做的聚合操作,例如sum(求和),count(*)记录数,max(最大值)
        group by 表示要进行分类聚合的字段,比如按照部门分类统计员工数量。
        with rollup是可选语法,表明是否对分类聚合后的结果进行再汇总。
        having关键字表示对分类后的结果再进行条件的过滤。
        select count(*) s,vc_videoid,dt_create,vc_class,vc_name,vc_infoid from youku_video WHERE vc_class="电影" GROUP BY vc_infoid having count(*)>1 ORDER BY CONVERT(vc_infoid,SIGNED)
        having和where的区别在于:having是对聚合后的结果进行条件的过滤,而where是在聚合前就对记录进行过滤,如果逻辑允许,我们尽可能用where先过滤记录,这样结果集减小,将提高聚合的效率,最后再根据逻辑选择是否使用having进行再过滤。
        6、表连接。
        1、表连接分为内\外连接,其区别在于,内连接仅选出两张表中互相匹配的记录,而外连接会选出其他不匹配的记录。
        2、外连接分为左连接和右连接:
        ·左连接左边表大
        ·右连接右边表大
        例如:
        select vc_infoid,vc_videoid from db1 left join db2 on db1.vc_name = db2.vc_name;
        ·表连接很多情况下用于优化子查询。
        7、记录联合(union,union all)
        ·union all:把结果直接拼在一起

·union:是在union all之后进行一次去重

注:LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。

数据库学习之sql语句基础相关推荐

  1. MySQL 数据库 之 高级 SQL 语句(常用查询,正则表达式,运算符,库函数,存储过程)

    文章目录 前言 一 . 常用查询介绍 1.按关键字排序 1.1默认升序 1.2 降序 1.3 多字段的排序 2. 对结果进行分组 2.1 分组统计 3.限制结果条目 3.1 查看前4行 3.2 查看第 ...

  2. 帝国cms php sql,帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

    帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 例1:连接MYSQL数据库例子.(a.php) db_close(); //关闭MYSQL链接$empire=null; //注消操作类变量? ...

  3. java数据库编程——执行SQL 语句

    [0]README 1) 本文文字描述+source code 均转自 core java volume 2 , 旨在理解 java数据库编程--执行SQL 语句 的基础知识 : 2)for sour ...

  4. 云服务器怎么执行sql文件在哪里,总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例...

    总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例 发布时间:2020-10-19 14:58:08 来源:亿速云 阅读:83 作者:小新 这篇文章将为大家详细讲解有关总结帝国CMS下在 ...

  5. 软件创新实验室:MySQL数据库与简单SQL语句使用

    文章目录 前言 简介 特点 SQL DDL:操作数据库.表 DML:增删改表中数据 DQL:查询表中的记录 后记 拓展 范式 第一范式 1NF 第二范式 2NF 第三范式 3NF B+树 节点结构 插 ...

  6. Oracle 实验三: SQL语句基础(复习)

    实验三: SQL语句基础(复习) 一.实验目的 1.oracle中常用数据字典的使用. 2.复习并掌握表管理(创建.修改.创建约束.删除等)操作 二.实验内容 1.利用数据字典完成以下操作,对运行过程 ...

  7. SQL语句基础4/select查询语句练习

    SQL语句基础4 注:除指明表格之外所有的数据来源于Oracle数据库自带的SCOTT用户表. 1. 表连接(99语法) 1.1 内连接 cross join语法:cross join即交叉连接,用于 ...

  8. 命令行客户端MySQL基本命令的使用(登录、登出、数据库操作的SQL语句、表结构的SQL语句、表数据操作的SQL语句)

    1. 登录和登出数据库 登录数据库: 输入下面命令: mysql -uroot -p 说明: -u 后面是登录的用户名  [写成-u root也是可以的] -p 后面是登录密码, 如果不填写, 回车之 ...

  9. mysql分析sql语句基础工具 —— explain

    转载自 https://segmentfault.com/a/1190000009724144 立即登录 [笔记] mysql分析sql语句基础工具 -- explain  mysql wateran ...

最新文章

  1. 呼叫中心最难的问题是什么?
  2. 这个赛道能超车几次?
  3. mysql:mysql error:Access denied for user 'root'@'localhost' (using password: YES)
  4. Codeforces Round #734 (Div. 3) 题解
  5. abap 取日期最大_Pointer干货分享:SQL面试50题思路解答与分类整理(下)CASE与日期函数...
  6. php可变函数代码,PHP可变函数
  7. Unitest框架的使用(四)HTMLTestRunner输出测试报告
  8. mysql java 日期_Mysql和JAVA中的几个日期操作
  9. dojo mobile问题汇总
  10. 如何防止SWF文件被反编译
  11. 最新AWVS14安装使用教程(2021年10月11日)
  12. curl测试post请求
  13. echarts 饼状图展示位置 legend
  14. 使用Bochs模拟器和IDA调试MBR
  15. CCF的基于UEBA的用户上网异常行为分析baseline(线上0.9263)
  16. 十年弄潮 ——从《才富》到《中国人力知本》
  17. Kotlin初级(2)- - - 空安全.md
  18. 订单可视化(智能制造、流程再造、企业信息化) 第七篇 经营班子掌舵,业务与开发分离,走向成功必备条件
  19. LWP(Library for WWW in Perl)的基本使用
  20. linux 重新运行命令,如何在Linux中重新运行最后执行的命令?

热门文章

  1. Windows Server 2003服务器群集创建和配置指南
  2. 元宇宙是什么,如何看待未来元宇宙的发展?
  3. [luogu2294] [HNOI2005]狡猾的商人
  4. 电子计算机与多媒体课件背景,演示型多媒体课件应用与设计原则
  5. 语义分析的一些方法(三)
  6. Python近期练习小案例
  7. 数据分析之淘宝数据简介
  8. SSL证书怎么购买?
  9. 敏捷开发之道 总结小记
  10. nii文件中的方向理解