mysql_mysql优化 - CSDN
mysql 订阅
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 展开全文
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
信息
外文名
MySQL
开发公司
瑞典MySQL AB 公司
类    型
关系型数据库管理系统
使用语言
SQL 语言
所    属
Oracle [1]
mySQL应用环境
与其他的大型数据库 例如 Oracle、DB2、SQL Server等相比,MySQL [1]  自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
收起全文
  • MySQL基础入门视频课程

    千人学习 2019-02-22 10:26:07
    本课程从零开始,以通俗易懂的方式讲解MySQL技术,手把手教你掌握每一个知识点。课程中使用的所有英文单词都会逐一查询并记录,真正做到零基础入门学习,适合初学者的教程! 课程内容包括: 1.MySQL简介、安装...
  • MySQL数据库从入门到实战课

    万人学习 2020-08-31 13:38:07
    在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:  一、...
  • 高性能MySQL实战课

    千人学习 2020-08-20 17:15:43
    课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括...
  • 超详细MySQL安装及基本使用教程

    万次阅读 多人点赞 2018-08-03 10:41:18
    一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,...

    一、下载MySQL

    首先,去数据库的官网http://www.mysql.com下载MySQL。

    点击进入后的首页如下: 
    这里写图片描述

    然后点击downloads,community,选择MySQL Community Server。如下图: 
    这里写图片描述

    滑到下面,找到Recommended Download,然后点击go to download page。如下图: 
    这里写图片描述

    点击download进入下载页面选择No thanks, just start my download就可以开始下载了,当然你要是想注册也可以注册一下。 
    **这里写图片描述**

    二、安装MySQL

    打开刚刚下载好的安装包,开始安装MySQL。 
    这里写图片描述 
    选择 I accept 然后点击next进入下一步。

    这里写图片描述 
    这里选择Developer Default,然后点击next进入下一步。

    这里写图片描述 
    这一步是检查安装条件,直接点击next进入下一步就可以了。

    这里写图片描述 
    这里直接点击execute执行就可以了,执行完后点击next进入下一步。

    这里写图片描述 
    继续点击next进入下一步。

    这里写图片描述 
    选择第一个然后点击next进入下一步。

    这里写图片描述 
    这里直接点击next进入下一步就可以了。

    这里写图片描述 
    设置root密码然后点击next进入下一步。

    这里写图片描述 
    点击next进入下一步。

    这里写图片描述 
    继续点击next。

    这里写图片描述 
    点击execute执行。

    这里写图片描述 
    点击next。

    这里写图片描述 
    点击finish。

    这里写图片描述 
    一路点击next,并check你的root密码,MySQL就成功在你的电脑上安装完成了。

    安装完成后进入MySQL的安装目录,进入MySQL Sever,其目录下的文件如下: 
    这里写图片描述 
    bin目录下保存了MySQL常用的命令工具以及管理工具、data目录是MySQL默认用来保存数据文件以及日志文件的地方(我的因刚安装还没有data文件夹)、docs目录下是MySQL的帮助文档、include目录和lib目录是MySQL所依赖的头文件以及库文件、share目录下保存目录文件以及日志文件。

    进入bin目录,按住shift键然后点击鼠标右键可以选择在该目录下打开命令窗口,或者在地址栏中输入cmd进入命令窗口。输入mysql -u root -p后回车,然后会提示输入密码,输入密码后就会进入MySQL的操作管理界面。 
    输入show databases;(注意末尾有分号)可以查看当前MySQL中的数据库列表,输入use test;可以进入test数据库(前提是要有此数据库),输入show tables可以查看test数据库中的所有表,输入quit可以退出MySQL的操作管理界面。 
    这里写图片描述

    三、MySQL基本使用教程(使用MySQLworkbench)

    1、创建数据库

    可以使用工具栏上的创建数据库直接创建数据库,如下图: 
    这里写图片描述
    或者使用命令:create database 数据库名称;(注意最后有分号)来创建。注意,此方法可能不会立马刷新,可以在左下角点击右键选择Refresh all 来刷新。 
    这里写图片描述

    2、创建表、删除表

    可以在你想要创建表的Tables上面点击右键,选择Create Table,或者使用命令create table table_name(column_name column_type); 
    这里写图片描述 
    注意,创建数据表的命令前需要使用use指明你要使用的数据库。(可以在你将要使用的数据库上面点击右键选择Set as Default Schema来使你将要用的数据库变为默认的,这样可以不用写use语句) 
    通过命令drop table table_name;来删除一张表。

    3、修改表的名字

    通过使用命令:alter table old_name rename to new_name或rename table old_name to new_name 来更改数据表名。 
    这里写图片描述

    4、为数据表增加、修改、删除字段

    通过命令alter table table_name add column_name column_type;语句来为数据表增加字段。 
    通过命令alter table table_name change column_name new_column_name new_column_name_type;语句来修改数据表字段名称。 
    通过命令alter table table_name drop column_name;来删除数据表字段。 
    这里写图片描述

    5、关于修改数据库名字

    在低版本的MySQL中提供了一个命令rename来修改数据库的名称(注意不是数据库的表),不过这个命令会造成数据的丢失,所以这个命令已经被删掉,现在如果想要重命名一个数据库名称的话,需要先导出原有数据库中的所有数据,然后新建一个数据库,然后把导出的数据导入到新的数据库中,最后删掉原来的数据库。整个过程比较繁琐,数据量大的时候会非常浪费时间,所以不推荐修改数据库的名字,因此在给数据库命名的时候要考虑好应该给数据库起一个合理的名字。

    6、拓展:pycharm操作MySQL

    打开pycharm,按照图片上的指示点击绿色“+”然后选择MySQL, 
    这里写图片描述 
    然后设置一下名字、并设置以root的方式连接数据库,最后测试连接成功后 点击apply就可以了。 
    这里写图片描述
    连接后的效果如下图,设置好后就可以在pycharm里面写MySQL的命令了,同理Java的IDEA也可以设置。 
    这里写图片描述

    展开全文
  • 6天玩转MySQL

    万人学习 2019-06-26 11:50:21
    MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是好的 RDBMS (Relational Database Management System,关系...
  • MySQL 一一 MySQL基本使用

    万次阅读 多人点赞 2018-01-08 21:48:56
    1、数据库 简单来说,所谓的数据库就是存储数据的...随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司) 后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库) 4、数

    1、数据库

    简单来说,所谓的数据库就是存储数据的容器,而且是永久存储的。

    2、为什么需要数据库


    3、为什么要学习MySQL数据库

    最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库

    随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司)

    后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库)

    4、数据库的分类

    在实际项目开发中,数据库一共分为两大类:①关系型数据库 ②非关系型数据

    非关系型数据库有哪些:Redis、MongoDB

    关系型数据库:

    小型数据库:微软Access

    中型数据库:DB2MySQLSQL Server

    大型数据库:Oracle

    5、什么是关系型数据库(MySQL)

    通过一种“关系”去管理实体信息,实体信息之间的联系。

    关系:实际上就是一张二维表,有列,还有行。


    6、数据库的原理图


    所以由上图可知:我们学习的过程,先学数据库->数据表->对数据进行增删改查操作

    二、MySQL的基本操作

    1、MySQL-Front软件的使用

    ①启动PHPStudy中的MySQL数据库


    ②确认MySQL数据库的密码。

    注意:连接数据库需要用户名(默认:root)和密码(默认:root


    ③解压MySQL-Front.rar压缩包


    2、MySQL库操作

    1)创建数据库

    在实际项目开发中,一个项目就是一个数据库。

    创建MySQL数据库:

    create  database  数据库名称;

    示例代码:

    选中localhost,然后切换到SQL编辑器


    SQL编辑器中输入create database db_20171227;如下图所示:


    2)删除数据库

    基本语法:

    删除就是不想要了,不想要了就是丢掉,丢掉的单词:drop

    drop database  数据库名称;

    示例代码:


    特别注意:删除数据库是不可逆的,删除之前一定要慎重。

    3)查看数据库

    ①查看所有数据库

    查看的单词:show

    查看所有数据库:show  databases;

    示例代码:

    ②显示指定的某类数据库

    show databases   like   ‘db%’; //查询所有以db开头的所有数据库

    普及like模糊查询,有两个关键字需要记住:

    _(下划线):代表任一一个字符,可能代表a也可能代表b...

    %(百分号):代表任意的n个字符,可能代表ab也可能代表abcd...

    4)修改数据库

    特别说明:在最新版本的MySQL中,数据库是不允许修改的。如果想修改必须删除在重建。

    3、MySQL数据表操作

    MySQL中,存放数据的真实位置都是数据库中的数据表。

    数据表就是一张二维表,有列有行。


    数据库很容易创建,但是数据表的创建有一点麻烦,麻烦在哪里呢?答:创建数据表时候,必须先创建列信息。

    学号(纯数字)唯一

    姓名(字符串)

    年龄(纯数字)

    性别(男、女、保密)

    1

     

     

     

    2

     

     

     

    3

     

     

     

     

    如上图所示,创建数据表时,不需要指定数据行,但是必须指定数据列,确认你要往里面存放什么类型的数据。

     

    创建表必须有两个东西:第一个东西就是列信息,第二个东西就是列属性(什么类型)

    1)创建数据表(前提是现有数据库)

    创建数据库并选择数据库(选择的关键词:use


    由于我们想数据表中插入的数据存在中文,所以也要设置编码格式

    基本语法:set  names utf8;  //注意:数据库中的编码格式没有横杠

    但是如果你使用的是MySQL-Front可以不需要这行代码,因为软件默认就是utf8。

    db_20171227数据库中创建数据库

    创建单词:create

    表的单词:table

    连在一起:

    create table  tb_user(

      -- id代表列名称,不支持中文

      -- int整数

      -- not null不能为空

      -- auto_increment

      id int notnull auto_increment,

      usernamevarchar(20) not null,

      age int,

      genderenum(‘男’,’女’,’保密’),

      primary key(id)

    ) engine = myisam default charset=utf8;

    示例代码:


    2)数据表的列类型

    创建数据表的基本语法:

    create table  数据表名称(

        列名称(英文)  列类型   列约束(not null)

    );

    整数类型(每个类型所表示的范围不同)


    tinyint :微整型,范围-128 -> 127(有符号型),如果添加unsigned(无符号型),0-255,人的年龄比较适合使用无符号的tinyint进行存储。

    smallint :小整型,-32768->32767(有符号型),如果添加unsigned(无符号型),0-65535,中小型网站会员,可以使用smallint。

    mediumint :中整型,-800->800万,无符号型,1600万左右,如果一个门户网站的文章数量可以使用mediumint

    int :整型,-21亿->21亿,无符号型,42亿左右,全世界的人口数量

    bigint :无法用int类型保存的都可以使用bigint

     

    小数类型(带有小数点的数据),记住一个类型即可:decimal(M,N)

    decimal(11,2) :数字的总长度(整数部分+小数部分)< 11位,2代表小数位,保留2位小数。在实际项目开发中,主要用于保存产品的价格

     

    字符串类型(char类型与varchar类型,text文本类型)

    char类型:char(255),如果一个字符串是固定长度的,而且小于255个字符,建议使用char类型,比如md5加密后的结果是固定的32位,建议采用char(32)

     

    varchar类型:varchar(255),如果一个字符串的长度不是固定的,建议采用varchar类型。比如人的姓名、文章的标题、文章的描述。

     

    对于字符数量超过255个字符的情况,建议使用text文本类型,比如文章的内容,产品的具备介绍。这些都是采用text文本类型。

     

    两种特殊的字符串类型(enum枚举类型与set集合类型)

    enum(‘男’,’女’,’保密’) :单选,多个结果中选1个

    set(‘吃饭’,’睡觉’,’打豆豆’) :多选,多个结果中可以同时选中多个

     

    例1:创建一个数据库,然后创建一个数据表,要求包含(编号、昵称、密码、性别、爱好、个性签名)

    示例代码:


    例2:创建一个数据库,然后创建一个数据表,要求包含(编号、标题、价格、缩略图、作者、出版社、发布时间)

    在实际项目开发中,如何创建数据库?

    答:先参考一下同行的项目都有哪些属性,每个属性就是一个字段(列)

     

    编号

    标题

    价格

    缩略图

    作者

    出版社

    发布时间

     

     

     

     

     

     

     


    示例代码:


    3)删除数据表

    丢掉:drop

    表:table

    删除数据表:drop  table  数据表名称;

    4)修改数据表(数据表的名称)

    重命名:rename

    rename table  原来的名字 to 新名称;

    5)查看数据表

    ①查看所有的数据表或某类的数据

    show tables  like   ‘_或%’;

    ②查看数据表的结构

    desc  数据表名称;

    示例代码:


    4、MySQL中数据的操作(增删改查)

    1)向数据表中插入数据

    基本语法:

    插入:insert

    向数据表中插入数据:

    insert into   数据表名称([字段1,字段2...])  values (字段值1,字段值2...)

    示例代码:向tb_user表中插入数据


    示例代码:根据字段插入数据


    2)更新数据表中的记录

    基本语法:

    更新:update

    update  数据表名称 set  字段(列) = 更新后的值,字段(列) = 更新后的值 where  条件;

    3)从数据表中查询数据

    查询所有数据

    查询:select

    select *  from   数据表名称;

    select  字段(某一列) from  数据表名称;

    根据条件查询数据(多了一个where)

    4)从数据表中删除数据(重点)

    基本语法:

    删除:delete

    delete from 数据表名称  where 条件;

    delete from 数据表名称;

    truncate 数据表名称;

    两者的功能都是删除所有数据,但是truncate删除的数据,其主键(primary key)会重新编号。而delete from删除后的数据,会继续上一次编号。

    展开全文
  • mysql & gbase 常用函数

    千次阅读 2019-09-14 11:44:39
    MYSQL查询表结构 1 show columns from 表名 ( describe 表名); show full fields from `tsysmenu` / / 比上面那个更全面 SHOW FULL TABLES FROM `tjjsw` LIKE 't%'查询...

    MYSQL查询表结构


    1 show columns from 表名 ( describe 表名);
    show full fields from `tsysmenu`    / / 比上面那个更全面

    SHOW FULL TABLES FROM `tjjsw` LIKE 't%'   查询库中所有的表名
    2    show create table 表名;   / /查建表语句
    use information_schema
    select * from columns where table_name = '表名'

    / *this can see the table information * /
    show table status from `fortioa`;

    / *this can see all the fields detail information of a table including  the character set * /
    show full fields from `account`


    / *change the table column`s character set to utf8 * /
    ALTER TABLE `purchaserequest` CHANGE `justification` `justification` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL 


    删除语句( DELETE
    在数据库中,有些数据已经失去意义或者是错误的,就需要将它们删除,此时可以使用 DELETE语句,该语句的格式如下:
    Delete from table_name
    Where condition

     

     

     

     

    转载于:https://my.oschina.net/mefly/blog/686872

    展开全文
  • MySQL

    2011-09-13 22:32:25
    1. 操作数据(查询) 1.1. DISTINCT 语法  SELECT [DISTINCT] 列名[, 列名]... FROM 表名 注意事项  *可以替代列名, 表示所有列, 但是通常我们为了提高代码的可读性, 不使用*
     
    

    1.       操作数据(查询)

    1.1.    DISTINCT

    语法

           SELECT [DISTINCT] 列名[, 列名]... FROM 表名

    注意事项

           *可以替代列名, 表示所有列, 但是通常我们为了提高代码的可读性, 不使用*

           DISTINCT为过滤重复记录

           如果DISTINCT后面跟多列, 是过滤掉多列合并之后的重复

    1.2.    列名表达式

    语法

           SELECT 列名|表达式[,列名|表达式]... FROM 表名

    注意事项

           表达式只是显示时起作用, 不会改变数据库中的值

    1.3.    AS

           SELECT 列名 AS 别名 FROM 表名

    注意事项

           起别名时AS可以省略

           不会改变数据库中的值

    1.4.    WHERE

    语法

           SELECT 列名 FROM 表名 [WHERE 条件语句]

    WHERE子句中的运算符

     

     

    比较运算符

    >, <, >=, <=, =, <>

    注意不等于和Java中不同, 是<>

    BETWEEN ... AND ...

    某一区间内的值, 从 ... 到 ...

    IN(列表)

    在列表之中, 例: in(1,2,3) 代表1或2或3

    LIKE(表达式)

    模糊查询, %代表多个字符, _代表单个字符

    IS NULL

    判断是否为NULL

     

      逻辑运算符

    AND &&

    与, 两边都为TRUE结果为TRUE

    OR ||

    或, 一边为TRUE结果就为TRUE

    NOT !

    非, 将表达式结果取反

    1.5.    ORDER BY

    语法

           SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;

    注意事项

           ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT语句后面起的别名

           ASC为升序, DESC为降序

           ORDER BY应在查询语句的结尾

    1.6.    COUNT函数

    语法

    SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 条件语句]

    注意事项

           COUNT(列名)的方式是统计指定列中有多少条记录, 不包括值为NULL的

           COUNT(*)则是统计表中有多少条数据

           COUNT(DISTINCT 列名) 统计不重复的记录数

           如果加上WHERE子句, 则是统计满足条件的记录

    1.7.    SUM函数

    语法

           SELECT SUM(列名) FROM 表名 [WHERE 条件语句];

    注意事项

           计算指定列中所有记录的和, 如果有WHERE子句则计算满足条件的记录

    1.8.    AVG函数

    语法

           SELECT AVG(列名) FROM 表名 [WHERE 条件语句];

    注意事项

           计算指定列的平均值, 如果有WHERE子句, 则计算满足条件的记录

           AVG()统计平均数不包含NULL值

    1.9.    MAX / MIN函数

    语法

           SELECT MAX(列名) FROM 表名 [WHERE 条件语句];

           SELECT MIN(列名) FROM 表名 [WHERE 条件语句];

    注意事项

           获取指定列最高/最低值, NULL不参与统计

    1.10. GROUP BY(重点)

    语法                                           

           SELECT 列名 FROM 表名 GROUP BY 列名 [HAVING 条件语句]

    注意事项

           按照某列归类

           HAVING和WHERE类似, 但HAVING是作用于组, 其中可以使用组函数

    SELECT列表中未包含在组函数中的列名, 只能是GROUP BY中的列名

    HAVING中可以使用组函数, WHERE不能.

    2.      函数

    2.1.    时间函数

    注意date, datetime, timestamp之间的区别

     

    ADDTIME(原时间, 增加值)       在某个时间上增加一段时间

           select addtime('18:23:01', '01:01:01');

    select addtime(now(),'3:0:0');

    CURRENT_DATE()                    当前日期

           select current_date();

    CURRENT_TIME()                    当前时间

           select current_time();

    CURRENT_TIMESTAMP()         当前时间戳

           select current_timestamp();

    DATE(时间)                               返回制定时间的日期部分

           select date('2011-02-14 18:00:00');

    DATE_ADD(日期,INTERVAL 增加值 类型)           在指定日期上对某个字段增加

           select date_add('2011-02-14 23:00:00', interval 10 month);

    DATE_SUB(日期,INTERVAL 减少值 类型)            在指定日期上对某个字段减少

           select date_sub('2011-02-14 23:00:00', interval 1 year);

    DATEDIFF(日期1, 日期2)        计算两个日期之间的差值

           select datediff('2000-02-14', '2001-02-14');

    NOW()          当前时间

           select now();

    YEAR|MONTH|DATE|HOUR|MINUTE|SECOND(时间)          获取指定时间的某个字段

           select year('2011-02-14 23:00:00');

           select hour('2011-02-14 23:00:00');

    2.2.    字符串函数

    CHARSET(字符串)                                                返回字符串字符集

           select charset(name) from student;

    CONCAT(字符串1[, 字符串2]... )                         连接字符串

           select concat('aaa', 'bbb', 'ccc');

    INSTR(字符串, 子字符串)                                     查找子字符串出现位置, 注意序号从1开始

           select instr('abc', 'a');

    UCASE(字符串)                                                     将字符串转为大写

           select ucase('aBc');

    LCASE(字符串)                                                     将字符串转为小写

           select lcase('aBc');

    LEFT(字符串, 长度)                                              从字符串左边取指定长度个字符

           select left('aBc',2);

    LENGTH(字符串)                                                  计算字符串长度

           select length('aBc');

    REPLACE(字符串, 搜索字符串, 替换字符串)        将字符串中指定字符串替换为其他字符串

           select replace('abbcbbd', 'bb', 'ee');

    STRCMP(字符串1, 字符串2)                                逐个字符比较两个字符串, 如果是包含关系, 则返回长度差值

           select strcmp('abcc', 'abde');

           select strcmp('abc', 'ab');

    SUBSTRING(字符串, 开始坐标[, 个数])         从字符串中截取

           select substring('abcdef', 3);

           select substring('abcdef', 3, 2);

    LTRIM(字符串)                                                      去掉左边空白

           select ltrim('    abc   ');

           select concat('--', ltrim('    abc   '), '--');

    RTRIM(字符串)                                                      去掉右边空白

           select concat('--', rtrim('    abc   '), '--');

    TRIM(字符串)                                                        去掉左右两边空白

           select concat('--', trim('    abc   '), '--');

    2.3.    数学函数

    ABS(数字)                                        求绝对值

           select abs(10);

           select abs(-10);

    BIN(十进制数)                                  将十进制转换为二进制

           select bin(5);

    HEX(十进制数)                                将十进制转换为十六进制

           select hex(10);

    CONV(数字, 原进制, 目标进制)       转换进制

           select conv(12, 10, 16);

           select conv(12, 10, 2);

           select conv(12, 16, 2);

    CEILING(小数)                                 向上取整

           select ceiling(3.4);

    FLOOR(小数)                                   向下取整

           select floor(3.4);

    ROUND(小数)                                  四舍五入

           select round(3.4);

    select round(3.5);

    FORMAT(小数, 保留位数)                保留小数位

           select format(3.1415926, 2);

    LEAST(值,值[,值]...)                         取最小值

           select least(1,2,3,4);

           select least('a', 'b', 'c', 'd');

    GREATEST(值,值[,值]...)                  取最大值

           select greatest(1,2,3,4);

           select greatest('a', 'b', 'c', 'd');

    MOD(数字, 数字)                             取余

           select mod(3,2);

           select 3%2;

    RAND()                                            生成随机数, 14位小数, 0 <= n <= 1

           select rand();

    3.      表的约束

    约束的作用

    限定某一列上的数据, 阻止非法数据录入, 提高程序健壮性.

    3.1.    唯一约束 unique

    unique约束的字段在整张表中唯一, 不可重复, 不包括多个NULL

     

    创建表时设置唯一

    create table test (

           id int,

           name varchar(20) unique

    );

     

    删除唯一约束

    show create table test; 发现唯一索引名叫name

    alter table test drop index name;

     

    添加唯一约束

    alter table test change name name varchar(20) unique;

    3.2.    非空约束 not null

    not null约束的字段不能为空

     

    创建表时设置非空

    create table test1 (

           id int,

           name varchar(20) not null

    );

     

    删除非空约束

    alter table test1 change name name varchar(20);

     

    添加非空约束

    alter table test1 change name name varchar(20) not null;

    3.3.    主键约束 primary key

    通常我们在设计表的时候需要给每一条记录一个独有的标识, 我们就用主键来约束这个标识.

    primary key用来标识一个字段, 这个字段是非空且唯一的.

     

    创建表时设置主键

    create table test2(

    id int primary key,

    name varchar(20)

    );

     

    删除主键

    alter table test2 drop primary key;

     

    在制定列上添加主键

    alter table test2 change id id int primary key;

    alter table test2 add primary key(id);

     

    设置主键自动增长

    create table test3(

    id int primary key auto_increment,

    name varchar(20)

    );

     

    删除自增长

    alter table test3 change id id int;

     

    设置自增长

    alter table test3 change id id int auto_increment;

     

    UUID主键

    128位的2进制, 32位16进制加上4个-

    java.util.UUID.randomUUID().toString()

    3c2372a4-da2a-4470-b17a-f2e50ac79636

    3.4.    外键约束 foreign key

    foreign key约束某一列的值是参照另外一列

     

    创建表时添加外键约束

    create table husband(

           id int primary key,

           name varchar(20) not null

    );

    create table wife(

           id int primary key,

           name varchar(20) not null,

           husband_id int,

           constraint husband_id_fk foreign key(husband_id) references husband(id)

    );

    wife表的husband_id的值必须是husband表中的id

     

    被外键引用的记录不能删除, 如果想要删除某条被引用的记录, 需要找到引用这条记录的记录, 解除关联

     

    被外键引用的表不能删除, 如果想要删除被引用的表, 需要删除所有引用此表的外键

     

    删除外键约束

    alter table wife drop foreign key husband_id_fk;

     

    添加外键约束

    4.      多表查询

    4.1.    连接查询

    当我们要插叙的数据不只是在一张表中, 我们就需要使用多表连接查询.

    例如: 查询员工所在的部门名称, 查询部门中员工名称, 都需要查询两张表.

     

    注意:

    在多表连接查询的时候, 如果没有有效的连接条件, 所有表中的行会互相连接, 形成笛卡尔集.

    为了避免笛卡尔集, 可以再where后加入有效的连接条件

    4.2.    多表连接

    多张表连接查询, 一张表外键引用另外一张表, 另外一张表再引用其他表.

    例如: 员工表引用部门, 部门表引用城市表. 这时如果想根据员工查城市, 或者根据城市查员工就需要将三张表连接查询

     

    准备工作:

    创建城市表, id主键自动生成, 带有名称

    插入两条记录, 北京和上海

    在部门表添加city_id, 外键引用城市表的id

    将开发部的地址改为北京, 市场部的地址改为上海

    4.3.    自连接

    自己和自己连接, 当前表的外键引用自己的主键.

    例如: 员工的经理也是员工, 应该在员工表中添加一列经理id. 之后添加一个外键, 引用员工表的主键.

     

    准备工作:

    在员工表中添加manager_id, 外键引用员工表id

    插入赵六, 孙七. 分别属于开发部和市场部.

    将张三和李四的经理设置为赵六, 王五经理设置为孙七.

    5.      子查询

    一条查询语句需要使用另一条查询语句的结果.

    例如: 查询工资比张三高的员工

     

    子查询在主查询之前完成

    子查询结果被主查询所使用

    子查询要包含在括号内

    子查询放在条件右侧

     

    展开全文
  • MySQL下载与安装

    万次阅读 多人点赞 2018-10-28 18:20:54
    MySQL下载与安装 一、下载 地址:https://dev.mysql.com/downloads/mysql/ 当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip 二、安装 MySQL安装文件分两种 .msi和.zip ,.msi需要安装 zip格式...
  • MySQL的常用命令

    2020-09-06 11:20:28
    MySQL的常用命令 1. 启动与停止MySQL服务 (右键以管理员方式打开命令提示符) 输入命令:net start mysql 来启动服务 输入命令:net stop mysql 来关闭服务 2. MySQL登录与退出 2.0 MySQL参数 2.1 MySQL登录 ...
  • 1.下载MySQL MySQL下载地址 提取码:1024 2.MySQL安装与配置 翻译:安装类型界面∶ (1)默认安装(Developer Default ) (2仅安装服务器(Server only ) (3)仅安装客户端(Client only ) (4)完全安装(Fuli) (5)自定义安装...
  • Mysql 5.6.35 源码安装

    2018-01-02 15:59:03
    Mysql 5.6.34 源码安装
  • mysql中" ' "和 " ` "的区别

    千次阅读 2016-09-13 11:06:18
    两者在linux下和windows下不同,linux下不区分,windows下区分。 ...mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '/'hello';   数据库、表、索引、列和别名用的是引
  • 文中附mysql下载、mysql安装教程 老子曰:SQL写的好,工作随便找! 任何数据库管理员都需要 MySQL 这个得力助手。MySQL 不仅拥有开源、稳定的好口碑,国内外越来越多的公司也都要求使用 MySQL 数据库。MySQL也逐渐...
  • MYSQL安装教程-5.5.28 超详细

    万次阅读 2020-04-29 11:11:37
    MySql安装教程 安装步骤: 1、首先单击mysql-5.5.28的安装文件,出现该数据库的安装向导界面,单击“next”继续安装,如图所示: 2、在打开的窗口中,选择接受安装协议,单击“next”继续安装,如图所示: 3、在...
  • MySQL安装教程---Windows10

    万次阅读 多人点赞 2020-07-10 22:18:28
    MySQL安装教程 第一步 下载资源 个人推荐从官网上下载压缩包 下载MSI进行安装的话也不是不可以 只是安装过程中会有MySQL其他的软件,例如MySQL出的可视化界面 MySQL Workbench等等一堆软件 最最关键的是MSI方式安装...
  • MySQL安装教程

    万次阅读 多人点赞 2020-06-25 17:48:35
    mysql-8.0.15-winx64安装教程 网上的教程有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。 安装环境:win7 1、下载...
  • 基于Windows平台的MySQL安装文件有两个版本,一种是以.msi作为后缀名的二进制分发版,一种是以.zip作为后缀的压缩文件。其中.msi的安装文件提供了图形化的安装向导,按照向导提示...mysql安装教程详细版本解答 1...
  • 现在作为服务器的操作系统一般有两种,分别是 ...MySQL安装教程包含所有平台(图解)更详细的安装图解请点击http://www.ryxxff.com/47777.html 在 Windows 系统上安装MySQL Windows 平台下提供两种安装 MySQ...
  • mysql安装教程-以8.0.17版本为例

    万次阅读 热门讨论 2019-09-01 21:58:26
    进入mysql的官网** 2.进入下载界面 3、选择与电脑系统一致的版本 4、这里以windows为例下载 这里8.0.17版本,两个下载都可以;下载的是压缩包解压无需安装,直接配置即可 可以不用登入直接下载,点击下图位置...
1 2 3 4 5 ... 20
收藏数 77,017
精华内容 30,806
关键字:

mysql