MySql知识框架,01mysql数据库下载安装卸载及基本

Mysql的概述

Mysql的设置和第一使用

一、数据库概述

  • 数据库(DataBase,DB):指长期保存在Computer的存款和储蓄设备上,遵照一定法则组织起来,能够被各类顾客或行使分享的数目集结。

  • 数据库管理种类(DataBase Management System,DBMS):
    指一种操作和管制数据库的大型软件,用于创立、使用和掩护数据库,对数据库举行统一管理和垄断,以担保数据库的安全性和完整性。顾客通过数据库管理系列访谈数据库中的数据。

  • 数据库软件应为数据库管理体系,数据库是经过数据库管理系列创设和操作的。

  • 数据库:存款和储蓄、维护和管理数据的集合。

数据库概述

MySQL5.5.40破解版地址(永世有效):链接: 密码:qjjy

Mysql的基本概念

  1. Mysql的法语单词是: database,简称 DB.
  2. 什么是数据库? 用于存款和储蓄和保管数据的库房
  3. 数据库的表征:
    • 漫长化存款和储蓄数据.其实数据库正是三个文件系统
    • 便利存款和储蓄和管制数据.
    • 运用统一的艺术操作数据库.
  4. 大范围的数据库软件
    • Mysql
    • Oracle
    • SQL Server
    • DB2

二、数据库的装置与安插

* 安装
    * 参照图解
    * 一路下一步
* 卸载
    1.停止mysql服务   net stop mysql     启动mysql服务  net start mysql
    2.卸载mysql
    3.找到mysql 安装目录下的 my.ini   datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
* 运行
    * 安装成功了打开cmd  --> mysql -uroot -p你的密码
    * 修改mysql root用户密码
        1) 停止mysql服务 运行输入services.msc 停止mysql服务
            或者 cmd -->  net stop mysql
        2) 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)
        3) 新打开cmd 输入mysql -u root -p 不需要密码 
        use mysql;
        update user set password=password('abc') WHERE User='root';
        4) 关闭两个cmd窗口 在任务管理器结束mysqld 进程 
        5) 在服务管理页面 重启mysql 服务
        密码修改完成

如何是数据库

  • 数据库是三个文件系统。通过标准SQL语言操作文件系统中数据——用来存放软件系统的数码!
  • SQL:Structured Query Language 结构查询语言

第3节数据库的介绍

Mysql数据库软件

  1. 安装
    • 能够自行百度,安装5.7未来会极其轻巧,5.5事先相比较麻烦
  2. 卸载
    • 去mysql的设置目录找到my.ini文件
      • 复制 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
    • 卸载MySQL(使用工具只怕采取微机的卸载或转移程序开展删减)
    • 删除C:/ProgramData目录下的MySQL文件夹。
  3. 配置

    • Mysql的劳务(service),命令行输入services.msc就足以步入windows服务的管制
    • 起首和关闭服务
      • 能够在windows服务管理中手动关闭和开启
      • 行职责令输入net start mysql能够展开Mysql服务. 使用net Stop Mysql能够关闭Mysql服务.(借使出现拒绝访问,是权力远远不足导致,使用管理员权限张开命令行就能够了)
    • Mysql的登录

      • mysql -uroot -ppassword来报到数据库,root是客户名,password指的是密码
      • mysql -h127.0.0.1 -uroot -ppassword,127.0.0.1指的是ip地址,前面包车型客车与第一种方法同样,这几个能够用来连续旁人的Mysql服务.
      • mysql --host=ip --user=root --password=password这种艺术也足以接连服务

        静心端口号怎么样钦赐,使用-P3306方可内定端口号,大

    • Mysql的退出

      • 使用exit(Ctrl C)举行剥离
      • 选用quit实行剥离
    • Mysql的目录结构(暗中同意安装的目录)
      • Mysql的设置目录(C:Program FilesMySQLMySQL Server 5.7)
      • Mysql的多少目录(C:ProgramDataMySQLMySQL Server 5.7Data)
        1. 数据库:文件夹
        2. 表:文件
        3. 数据:数据

配置

图片 1

图片1.png

图片 2

图片2.png

图片 3

图片3.png

图片 4

图片4.png

图片 5

图片5.png

图片 6

图片6.png

图片 7

图片7.png

图片 8

图片8.png

图片 9

图片9.png

图片 10

图片10.png

图片 11

图片11.png

常用数据库简要介绍

图片 12

  • Oracle:大篆公司,特意数据库商家,收购SUN、MySQL ------- 收取金钱,大型数据库 ,用于别的系统任何平台 神谕 代神说话的人;

  • MySQL:前期开源无偿数据库产品,提出用5.0---5.5
    LAMP组合 Linux Apache MySQL PHP 完全开源免费,自从mysql被oracle收购后,从6.0发轫现出收取薪金版本

  • DB2:IBM数据库产品,大型收取金钱多少库 与websphere服务器一同行使;

  • SYBASE:中等规模数据库,收取薪给 PowerDesigner 数据库建人体模特工具;
  • SQL Server:微软公司数据库产品,收取费用中等规模数据库,操作系统供给是windows 结合.net 一同使用;

Java开拓者主要运用 MySQL、Oracle、DB2 三种数据库

MySQL:开源无需付费的数据库,小型的数据库,已经被 Oracle 收购了。 MySQL6.x 版本也最初收取金钱。后来 Sun
集团收购了 MySQL,而 Sun 公司又被 Oracle 收购

SQL

  1. 什么是SQL? Structured Query Language:结构化查询语言。其实就是概念了操作全体关系型数据库的条条框框。各样数据库操作的方法存在不平等的地点,称为“方言”。
  2. SQL通用语法
    1. SQL 语句能够单行或多黑体写,以分行结尾。
    2. 可采纳空格和缩进来加强语句的可读性。
    3. MySQL 数据库的 SQL 语句不区分轻重缓急写,关键字建议采纳大写。
    4. 3 种注释
      • 单行注释: -- 注释内容 或 # 注释内容(mysql 特有) ,注意空格
      • 多行注释: /* 注释 */
  3. SQL分类

    1. DDL(Data Definition Language)数据定义语言,
      用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
    2. DML(Data Manipulation Language)数据操作语言,
      用来对数据库中表的数码开展增加和删除改。关键字:insert, delete, update 等
    3. DQL(Data Query Language)数据查询语言,
      用来查询数据库中表的笔录(数据)。关键字:select, where 等
    4. DCL(Data Control Language)数据调控语言(精晓),
      用来定义数据库的访问权限和安全品级,及成立客户。关键字:GRANT, REVOKE 等

    图片 13

三、sql概述

  • SQL:Structure Query Language。(结构化查询语言)
  • SQL被U.S.A.国家标准计量管理局(ANSI)分明为关系型数据库语言的United States专门的工作,后来被国际化规范组织(ISO)选用为关周到据库语言的国际标准。
    各数据库厂商都协助ISO的SQL规范。汉语
    各数据库厂家在标准的根底上做了团结的扩大。方言

MySQL安装配置和卸载

2.1.2 什么是数据库
1) 存款和储蓄数据的货仓
2) 本质上是三个文件系统,照旧以文件的主意存在服务器的Computer上的。
3) 全数的关系型数据库都得以接纳通用的 SQL 语句举办保管 DBMS DataBase Management System

DDL : 操作数据库、表

  1. 操作数据库 : CRUD
    • C(Create) : 创建
      • 开创钦赐的数码库 : create database db_name;
      • 创制数据库剖断 : create database if not exists db_name;
      • 点名字符集 : create database db_name character set 字符编码;
    • R(Retrieve) : 查询
      • 询问全部数据库名称 : show databases;
      • 查阅有些数据库的字符集(查询成立语句) : show create database db_name;
    • U(Update) : 修改
      • 修改字符编码 : alter database db_name character set 字符编码;
    • D(delete) : 删除
      • 去除有个别数据库 : drop database db_name;
      • 删去前判定 : drop database if exists db_name;
    • 利用数据库
      • 运用有个别数据库 : use db_name;
      • 查询当前正在选拔的数据库名称 : select database();
  2. 操作表

    • C(Create) : 创建

      • 语法

          create  table table_name(
              col1 数据类型1,
              col2 数据类型2,
              ........
          );
        
      • 数据类型

          1. int:整数类型
              * age int,
          2. double:小数类型
              * score double(5,2)
          3. date:日期,只包含年月日,yyyy-MM-dd
          4. datetime:日期,包含年月日时分秒  yyyy-MM-dd HH:mm:ss
          5. timestamp:时间错类型  包含年月日时分秒     yyyy-MM-dd HH:mm:ss    
              * 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
        
          6. varchar:字符串
              * name varchar(20):姓名最大20个字符
              * zhangsan 8个字符  张三 2个字符 
        
      • 创建表

          create table student(
              id int comment "注释",
              name varchar(32) comment "注释",
              age int comment "注释",
              score double(4,1) comment "注释",
              birthday date comment "注释",
              insert_time timestamp comment "注释"
          )comment="表注释";
        
      • 复制表:

          * create table 表名 like 被复制的表名;
        
    • R(Retrieve) : 查询

        * 查询某个数据库所有的表 : show tables;
        * 查询表结构 : desc table_name;
        * 查询创建表的语句 : show create table table_name;
      
    • U(Update) : 修改

        * 修改表名 : alter table old_table_name rename to new_table_name;
        * 修改表的字符集 : alter table table_name character set 字符集;
        * 添加一列 : alter table table_name add column_name 数据类型;
        * 修改列的名称 : alter table table_name change old_column_name new_column_name 新的列名;    
        * 修改列的类型 : alter table table_name modify column_name 新的数据类型;
        * 删除列 : alter table table_name drop column_name;
      
    • D(delete) : 删除

        * 删除表 : drop table table_name;
        * 删除前判断 : drop if exists table_name;
      

四、Sql的分类

  • DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
  • DML(**)(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
  • DCL(Data Control Language):数据调整语言,用来定义访谈权限和安全品级;
  • DQL(*****)(Data Query Language):数据查询语言,用来查询记录(数据)。
  • 注意:sql语句以;结尾

安装配置

  1. 安装mysql数据库
    自定义安装目录:
    MySQL Server 私下认可地点 C:program filesmysql目录
    Server Data File 数据文件 C:Documents and SettingsAll UsersApplication DataMySQL目录
    ⚠️⚠️⚠️当您须要卸载的时候 要求将此目录删除。不然会促成重新安装数据库失利!因为windoes暗许卸载不会去除此目录的。 
  2. 设置进程中安顿
    1. 安顿mysql私下认可字符集
      默认latin1等价于ISO-8859-1改为utf8(mysql中没有utf-8)
    2. 将mysql/bin目录配置情况变量path
      Include Bin Directory in Window Path——☑️(勾选),自动配置好mysql情形变量,能够援助大家一点也不慢步向mysql数据库的主分界面。
    3. 输入一级助理馆员root/root,系统私下认可客商名、管理员:root!验证安装成功
      测量检验mysql是不是安装成功,运营cmd窗口:
      输入 mysql -u root -p 回车 输入密码 root ==== 出现 mysql> 安装成功!
  3. 重新恢复设置root密码(一般不会重新设置密码,掌握就可以)

    1. 甘休mysql服务器 运营输入services.msc 结束mysql服务;
    2. 在cmd下 输入 mysqld --skip-grant-tables 运维服务器 光标不动 (不要关闭该窗口);
    3. 新开发cmd 输入mysql -u root -p 无需密码

      use mysql;
      update user set password=password('abc') WHERE User='root';
      
    4. 关闭三个cmd窗口 在职务管理器结束mysqld 进程;

    5. 在劳动管理页面 重启mysql 服务,密码修改完毕。

第四节 数据库的安装与卸载

DML : 增加和删除改表中数据

1. 添加数据:
    * 语法:
        * insert into table_name(列名1,列名2,...列名n) values(值1,值2,...值n);
    * 注意:
        1. 列名和值要一一对应。
        2. 如果表名后,不定义列名,则默认给所有列添加值
            insert into 表名 values(值1,值2,...值n);
        3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
2. 删除数据:
    * 语法:
        * delete from 表名 [where 条件]
    * 注意:
        1. 如果不加条件,则删除表中所有记录。
        2. 如果要删除所有记录
            1. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
            2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3. 修改数据:
    * 语法:
        * update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];

    * 注意:
        1. 如果不加任何条件,则会将表中所有记录全部修改。

4.1 DDL:操作数据库、表、列等

利用的重视字:CREATE、 ALTE奔驰M级、 DROP

卸载

  1. 在调整面板中卸载MySQL;
  2. 剔除mysql 安装目录;
  3. 删去MySQL数据文件目录(⚠️数据寄存目录一定要去除),此目录是藏匿的,必要通过my.ini文件查找,用编辑器张开此文件查找datadir 的路径地方!

设置进程分成八个部分:
1) 文件解压和复制进程,暗许的设置目录:图片 14

DQL : 查询表中的记录

* select * from 表名;

1. 语法:
    select
        字段列表
    from
        表名列表
    where
        条件列表
    group by
        分组字段
    having
        分组之后的条件
    order by
        排序
    limit
        分页限定




2. 基础查询
    1. 多个字段的查询
        select 字段名1,字段名2... from 表名;
        * 注意:
            * 如果查询所有字段,则可以使用*来替代字段列表。
    2. 去除重复:
        * distinct
    3. 计算列
        * 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
        * ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
            * 表达式1:哪个字段需要判断是否为null
            * 如果该字段为null后的替换值。
    4. 起别名:
        * as:as也可以省略


3. 条件查询
    1. where子句后跟条件
    2. 运算符
        * > 、< 、<= 、>= 、= 、<>
        * BETWEEN...AND  
        * IN( 集合) 
        * LIKE:模糊查询
            * 占位符:
                * _:单个任意字符
                * %:多个任意字符
        * IS NULL  
        * and  或 &&
        * or  或 || 
        * not  或 !

            -- 查询年龄大于20岁

            SELECT * FROM student WHERE age > 20;

            SELECT * FROM student WHERE age >= 20;

            -- 查询年龄等于20岁
            SELECT * FROM student WHERE age = 20;

            -- 查询年龄不等于20岁
            SELECT * FROM student WHERE age != 20;
            SELECT * FROM student WHERE age <> 20;

            -- 查询年龄大于等于20 小于等于30

            SELECT * FROM student WHERE age >= 20 &&  age <=30;
            SELECT * FROM student WHERE age >= 20 AND  age <=30;
            SELECT * FROM student WHERE age BETWEEN 20 AND 30;

            -- 查询年龄22岁,18岁,25岁的信息
            SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
            SELECT * FROM student WHERE age IN (22,18,25);

            -- 查询英语成绩为null
            SELECT * FROM student WHERE english = NULL; -- 不对的。null值不能使用 = (!=) 判断

            SELECT * FROM student WHERE english IS NULL;

            -- 查询英语成绩不为null
            SELECT * FROM student WHERE english  IS NOT NULL;


            -- 查询姓马的有哪些? like
            SELECT * FROM student WHERE NAME LIKE '马%';
            -- 查询姓名第二个字是化的人

            SELECT * FROM student WHERE NAME LIKE "_化%";

            -- 查询姓名是3个字的人
            SELECT * FROM student WHERE NAME LIKE '___';

            -- 查询姓名中包含德的人
            SELECT * FROM student WHERE NAME LIKE '%德%';

4.1.1操作数据库

MySQL数据仓库储存款和储蓄结构

2) 安装好之后必需对 MySQL 服务器实行配置
在 mysql 中管理员的名字: root

创建

Create database mydb1;
Create database mydb2 character set gbk;
Create database mydb3 character set gbk COLLATE gbk_chinese_ci;

数据存款和储蓄情势

图片 15

图片 16

  • mysql数据库服务器能够创立多个数据库 :database ,各种database 都以单身的,开辟中貌似是三个工程对应一个数据库;
  • 每二个数据库能够创设多张数据表 table,表是数据库的为主单元,每张数据表用来保存数据记录(表对应java中的对象)。
  • SQL语句 (简称: 结构化查询语句 )
    脾性:非进度性 一条SQL语句三个实行结果
    为了利用SQL 编写复杂程序,各类数据库商家对SQL 进行压实,SQL Server TSQL 、Oracle PLSQL 。

3.1 数据库的设置

查询

翻看当前数据库服务器中的全数数据库
Show databases;
翻开前边创设的mydb2数据库的定义新闻
Show create database mydb2;
除去前面创制的mydb3数据库
Drop database mydb3;

SQL语句分类

  按作用分类:定义(DDL)、管理(DML)、控制(DCL)、查询(DQL)

图片 17

⚠️全部表结构操作语句都是DDL语句

  1. 张开下载的 mysql 安装文件双击解压缩,运营“mysql-5.5.40-win32.msi”
修改

查阅服务器中的数据库,并把mydb2的字符集修改为utf8;
alter database mydb2 character set utf8;

数据库操作语句

图片 18

删除

Drop database mydb3;

成立数据库

  • 核心语法:create database 数据库名称;(选用暗许字符集)
    create database mydb1;
    

 

  • 复杂语法:create database 数据库名称 character set 字符集;

    create database mydb2 character set utf8;
    
  • ⚠️每回创造叁个数据库,在多少存放目录中生成二个文书夹,每一个文件夹中留存db.opt 寄存暗中同意字符集和核查准绳!

 

 

* 其他:

查看当前利用的数据库
Select database();
切换数据库
Use mydb2;

查询数据库

-- 查看所有数据库
show DATABASES;
-- 查看数据库定义信息
show create DATABASE db_name;
-- 查看当前使用的数据库
select DATABASE();
-- 切换当前数据库
use db_name;

图片 19

4.1.2操作数据表

* 语法:
        create table 表名(
            字段1 字段类型,
            字段2 字段类型,
            ...
            字段n 字段类型
        );              
* 常用数据类型:
        int:整型
        double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
        char:固定长度字符串类型;    char(10)     'aaa       '  占10位
        varchar:可变长度字符串类型; varchar(10)  'aaa'  占3为
        text:字符串类型;
        blob:字节类型;
        date:日期类型,格式为:yyyy-MM-dd;
        time:时间类型,格式为:hh:mm:ss
        timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss  会自动赋值
        datetime:日期时间类型 yyyy-MM-dd hh:mm:ss

当前数据库中的所有表
SHOW TABLES;
查看表的字段信息
DESC employee;
在上面员工表的基本上增加一个image列。
ALTER TABLE employee ADD image blob;
修改job列,使其长度为60。
ALTER TABLE employee MODIFY job varchar(60);
删除image列,一次只能删一列。
ALTER TABLE employee DROP image;
表名改为user。
RENAME TABLE employee TO user;
查看表格的创建细节
SHOW CREATE TABLE user;
修改表的字符集为gbk
ALTER TABLE user CHARACTER SET gbk;
列名name修改为username
ALTER TABLE user CHANGE name username varchar(100);
删除表
DROP TABLE user ;

除去数据库

-- 删除数据库
drop DATABASE db_name;
  1. 慎选安装类型, 有“Typical(暗中认可) ”、 “Complete(完全) ”、 “Custom(客商自定义) ”多少个挑选, 选取“Custom” ,
    按“next”键继续
4.2 DML操作(重要)
  • 查询表中的全体数据
    SELECT * FROM 表名;
  • DML是对表中的数量实行增、删、改的操作。不要与DDL混淆了。
    INSERT 、UPDATE、 DELETE
  • 小知识: 在mysql中,字符串类型和日期类型都要用单引号括起来。空值:null

修改数据库编码集

-- 修改数据库db_name编码集
alter DATABASE db_name CHARACTER SET gbk;

图片 20

4.3 DQL操作

DQL数据查询语言 (主要)
数据库试行DQL语句不会对数码实行转移,而是让数据库发送结果集给顾客端。
询问重返的结果集是一张虚构表。

查询关键字:SELECT 
语法: SELECT 列名 FROM表名 
【WHERE --> BROUP BY -->HAVING--> ORDER BY】

语法:
SELECT selection_list /*要查询的列名称*/
  FROM table_list /*要查询的表名称*/
  WHERE condition /*行条件*/
  GROUP BY grouping_columns /*对结果分组*/
  HAVING condition /*分组后的行条件*/
  ORDER BY sorting_columns /*对结果分组*/
  LIMIT offset_start, row_count /*结果限定*/
8 LIMIT
LIMIT用来限定查询结果的起始行,以及总行数。

8.1 查询5行记录,起始行从0开始
SELECT * FROM emp LIMIT 0, 5;
注意,起始行从0开始,即第一行开始!

8.2 查询10行记录,起始行从3开始
SELECT * FROM emp LIMIT 3, 10;

8.3 分页查询
如果一页记录为10条,希望查看第3页记录应该怎么查呢?
第一页记录起始行为0,一共查询10行;
第二页记录起始行为10,一共查询10行;
第三页记录起始行为20,一共查询10行;
8.3 分页查询
    查询语句书写顺序:select – from- where- group by- having- order by-limit
    查询语句执行顺序:from - where -group by - having - select - order by-limit  

数据库表结构操作语句

  1. 点选“Browse”,手动指定安装目录。

五、数据的完整性

效益:保险顾客输入的多里正存到数据库中是不错的。
有限扶助数量的完整性 = 在成立表时给表中增添约束
完整性的归类:
实体完整性:
域完整性:
援引完整性:

创建表

  • 建表语法:create table 表名(列名 类型(长度),列名 类型(长度)... );
    贰个数据表能够存在好些个列,每列具备类型和长度

    • ⚠️唯有字符串类型必得钦点长度,而任何项目皆有暗中认可长度;
    • ⚠️创设表时不曾点名字符集,将使用数据库默许字符集;
    • ⚠️创建表以前记得切库,必得利用use db 语法内定操作数据库!

MySQL常用数据类型
图片 21

  • mysql中字符串型VACHA汉兰达、CHAMurano<--->java中String、char
    CHA奔驰G级是一定长度、VARCHASportage是可变长度;举例:char(8) 保存 lisi,因为lisi 独有多个字符,全体会补充七个空格,成为8个字符存入 char(8)中 ,
    万一有 varchar(8) 自动根据存放内容改动长度
  • mysql数值类型TINYINT、SMALLINT、INT、BIGINT、FLOAT、DOUBLE<--->java中byte、short、int、long、float、double
  • mysql逻辑性BIT存放一个人数值0/1<--->java中boolean
  • mysql日期型DATE(独有日期)、TIME(只不常间)、DATETIME(日期时间都有)、TIMESTAMP(日期时间都有)<--->java中Date
    DATETIME和TIMESTAMP 表现格局上完全相同,分裂就在于TIMESTAMP 在数据库能够自动更新(当前时刻)
  • mysql大数据类型BLOB(存款和储蓄大二进制数据)、TEXT(存储大文本文件)<--->java中blob(二进制文件)、text(文本文件)
    • tinyblob tinytext 255字节
    • blob text 64KB
    • mediumblob mediumtext 16MB
    • longblob longtext 4GB

图片 22

六、多表查询(主要)

多表查询有如下几种:
 合并结果集;UNION 、  UNION ALL
 连接查询
 内连接  [INNER] JOIN  ON 
 外连接  OUTER JOIN ON
 左外连接 LEFT [OUTER] JOIN
 右外连接 RIGHT [OUTER] JOIN
 全外连接(MySQL不支持)FULL JOIN
 自然连接  NATURAL JOIN (自己查找连接关系)
 子查询

表约束操作

  约束用来保险数据有效性完整性。

  • 主键约束-primary key
    • 主键:区分记录中不相同记录的独一字段,该字段赋予主键,称之主键约束(独一、非空);
    • 结论:⚠️表必需含有主键,不然表违法!
  • 独一约束-unique
    • 该字段的值不容许再一次,比方email 邮箱是不得以另行的
      • 一张表中能够有许八个独一约束,能够安装四个字段联合营为主键--联合主键;
      • null值不做相比,尽管设置了独一约束的字段,也得以存在四个null值!
  • 非空约束-not null 该字段不能够为空,必须有值!
  • 自增长-auto_increment
    一般用于主键字段,插入数据时,其值交给数据库去维护!
  • 建表
    CREATE TABLE `operate_record` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
      `manage_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '管理表id',
      `product_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '产品编号',
      `product_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '产品类型',
      `trans_id` varchar(50) NOT NULL DEFAULT '0' COMMENT '交易编号',
      `user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '用户编号',
      `STATUS` tinyint(4) DEFAULT '0' COMMENT '操作:1:额度退出 2:额度恢复 3:额度调整',
      `amount` decimal(18,6) DEFAULT '0.000000' COMMENT '操作金额',
      `is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除:0.不删除 1.删除',
      `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
      `creator` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建人',
      `updator` bigint(20) NOT NULL DEFAULT '0' COMMENT '更新人',
      `VERSION` int(11) NOT NULL DEFAULT '1' COMMENT '版本',
      PRIMARY KEY (`id`),
      UNIQUE KEY `uniq_operate_record` (`trans_id`,`STATUS`,`is_delete`),
      KEY `idx_manage_id` (`manage_id`),
      KEY `idx_trans_id` (`trans_id`),
      KEY `idx_user_id` (`user_id`),
      KEY `idx_product_id` (`product_id`),
      KEY `idx_product_type` (`product_type`),
      KEY `idx_STATUS` (`STATUS`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='操作记录表';
    
  1. 填上设置目录,小编的是“d:Program Files (x86)MySQLMySQL Server 5.0”,按“OK”继续

七、MySQL数据库的备份与还原

表结构操作

  • 表结构修改

    -- 增加列 语法:alter table 表名 add 列(可以省略列column) 列名 类型(长度) 约束;
    ALTER TABLE `table_name` ADD COLUMN `lock_amount` DECIMAL(18,6) NOT NULL DEFAULT '0.00' COMMENT '锁定金额' AFTER `amount`;
    -- 修改现有列类型、长度和约束 语法:alter table 表名 modify 列名 类型(长度) 约束;
    ALTER TABLE `table_name` MODIFY COLUMN `product_type` TINYINT(10) NOT NULL COMMENT '产品类型...';
    -- 修改现有列(名称、约束等) 语法:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
    ALTER TABLE `table_name` CHANGE old_column_name new_column_name TINYINT(10) NOT NULL COMMENT '产品类型...';
    -- 删除现有列 语法:alter table 表名 drop 列名;
    ALTER TABLE `table_name` DROP column_name;
    -- 修改表名 语法:rename table 旧表名 to 新表名;
    RENAME TABLE old_table_name to new_table_name;
    -- 修改表字符集
    RENAME TABLE table_name character set utf8;
    
  • 数据表删除

    -- 数据表删除
    DROP TABLE table_name;
    
  • 查看表结构

    -- 查看表结构
    DESC table_name;
    -- 查看当前库所有表
    SHOW TABLES;
    -- 查看建表语句和字符集
    SHOW CREATE TABLE table_name;
    

图片 23

1 生成SQL脚本 导出多少

在调控台使用mysqldump命令能够用来扭转钦定数据库的台本文本,但要注意,脚本文本中只包涵数据库的剧情,而不会设有创设数据库的说话!所以在平复数据时,还必要自已手动创立一个数据库之后再去苏醒数据。
  mysqldump –u客户名 –p密码 数据库名>生成的台本文件路线

图片 24

1.png

现行反革命得以在C盘下找到mydb1.sql文书了!
专心,mysqldump命令是在Windows调整台下施行,无需登入mysql!!!

数据库表记录操作语句

图片 25

  1. 承认一下原先的装置,假若有误,按“Back”再次来到重做。按“Install”开端设置。

2 实行SQL脚本 复苏数据

前提:必得先创设数量库名
进行SQL脚本须求登陆mysql,然后步向钦命数据库,才足以试行SQL脚本!!!
实施SQL脚本不只是用来还原数据库,也足以在常常编辑SQL脚本,然后使用进行SQL 脚本来操作数据库!我们都了解,在黑屏下编写制定SQL语句时,固然开掘了不当,只怕也不能够修改了。所以自身提议我们利用脚本文件来编排SQL代码,然后推行之!
SOURCE C:mydb1.sql

图片 26

2.png

只顾,在实行脚本时索要事先核准当前数据库中的表是还是不是与剧本文件中的语句有争论!比方在本子文件中留存create table a的言语,而当前数据库中曾经存在了a表,那么就能够出错!

还足以由此上面包车型大巴章程来施行脚本文件:
mysql -uroot -p123 mydb1<c:mydb1.sql
mysql –u客商名 –p密码 数据库<要实行脚本文件路线

图片 27

3.png

这种办法无需登陆mysql!
只顾:在CMD下 命令无法加;

Insert语句

图片 28

INSERT INTO table_name (`manage_id`, `product_id`, `product_type`, `trans_id`, `user_id`, `STATUS`, `amount`)
VALUES
    (18, 1008927, 26, '100000006', 1008927, 1, 8000.00);

⚠️补充小知识:

  • 经过cmd窗口插入一条普通话记录 也许会油然则生上面包车型地铁处境:

    insert into employee(id,name,job,salary) values(4,'小明','清洁员',1500);
    

    出错了:

    ERROR 1366 (HY000): Incorrect string value: 'xC3xF7' for column 'name' at row 1 ;
    

    谬误原因:cmd窗口,接受的字符只可以是gbk,所以mysql client选拔暗中同意字符集编码gbk
    图片 29

  • 查阅系统全数字符集:

    show variables like 'character%';
    

    MYSQL中国共产党6处选取了字符集
    图片 30
    client、connetion、result 和顾客端相关,database、server、system 和劳动器端相关

  • 解决办法:修改客商端字符集位gbk

    • 先是种方案:当前窗口不常修改,只对眼下窗口有效,关闭后就能够失灵

      -- 仅对cmd 窗口使用
      set names gbk;
      /* 或 */set character_set_results=gbk;
      

      图片 31

    • 第二中方案:配置mysql/my.ini 文件(永恒退换字符。一般习贯是utf8 所以不提出修改)
      ⚠️my.ini文件中,出现[mysql] 表示顾客端配置,[mysqld] 表示服务器端配置
      修改客户端字符集 [mysql] 后字符集  default-character-set=gbk,当修改my.ini配置文件从此,必要重启Mysql 数据库!

图片 32

八、MySQL卸载

  • 停止MySQL
  • 1增多删除程序中卸载MySQL
  • 2到安装目录删除MySQL
  • 3删除:C:Documents and SettingsAll UsersApplication DataMySQL
    C:ProgramDataMySQL
  • 4查看注册表:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
    HKEY_LOCAL_MACHINESYSTEMControlSet001Services
    HKEY_LOCAL_MACHINESYSTEMControlSet002Services

    寻觅mysql,找到一律干掉!

    无需重启Computer(win xp),直接重新安装就能够

Update语句

update table_name set status=1 where id in (。。。);

⚠️若无where条件语句,暗中同意修改全数行数据,危急操作,三思!

图片 33

Delete语句

  • 语法:delete from 表名 where条件语句; 若无where语句,将去除表中全数记录
    • ⚠️使用 truncate table 表名;等价于delete from 表名;删除表全体数据;
    • delete语句不能够去除某一列的值(可选拔update)针对记录的删除操作;
    • 运用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table 表名;语句。
      delete from employee where name='zhangsan';
      
  • 面试题:delete删除表全数多少和truncate删除表记录,有啥界别?
    • 分类:truncate 属于DDL ,delete 属于DML;
    • truncate 删除数据,进程先将全方位表删除,再另行创制;delete 除去数据,逐行删除记录 ,表结构存在!
    • truncate功用要超过delete;
    • 事务管理只可以对DML有效,被事务管理SQL语句能够回滚到SQL执行前情状;Truncate数据删除无法回滚,数据不大概复苏,相当于delete commit;
      start transaction;-- 开启事务
      -- truncate table employee;-- truncate删除数据操作,事务不能回滚,数据无法恢复,相当于delete commit,数据永久删除
      delete from employee;-- 删除表中记录,delete删除的数据可以通过回滚操作来恢复数据!
      select * from test1;-- 查询表,记录不存在
      rollback;-- 事务回滚,表中数据恢复!
      

图片 34

Select语句

  • 基本select查询

    -- 语法一:基本select语句
    -- 查询表中所有列信息
    select * from table_name;
    -- 查询表中指定列的信息
    select 列名,列名... from table_name;
    -- distinct 用于过滤重复数据
    select [distinct] * 列名,列名... from table_name;
    
    -- 语法二:使用表达式对查询对列进行运算
    select 表达式(列名执行运算) from table_name;
    select name,chinese math english as 总分 from exam;
    -- 使用as定义列别名,as可以省略
    select 列名 as 别名 from table_name; 
    
    -- 语法三:使用where子句,进行条件过滤查询
    select * from table_name where name='关羽';
    
  • 询问之运算符
    图片 35

    • between ... and ... 闭区间(between 70 and 80 等价于 >=70 and <=80);
      select * from exam where english>=90 and english <= 100;
      select * from exam where english between 90 and 100;
      select * from exam where math in(65,75,85);
      select * from exam where name like '赵%';
      select * from exam where chinese is null;
      select * from exam where chinese is not null;
      
  • 询问之排序

    -- 语法:select * from 表名 order by 列名 asc|desc ;  ---- asc升序 desc降序
    -- 默认asc升序
    select * from exam order by math;
    -- 按照英语进行降序排序,英语相同学员按照数学降序
    select * from exam order by english desc,math desc;
    
  • 询问之函数
    聚拢函数:指SQL语句中放置函数;
    分组函数:用于总括

    • count:总结查询结果记录条数

      -- 统计总分大于220的人数 
      select count(*) from exam where chinese math english > 220;
      
    • sum:总结某列数据的和

      -- 统计一个班级语文、英语、数学的成绩总和(使用ifnull函数处理 null情况)
      select sum(ifnull(chinese,0) ifnull(math,0) ifnull(english,0)) from exam;
      
    • avg:计算某列平均值

      -- 求一个班级总分平均分(使用ifnull函数处理 null情况)
      select avg(ifnull(chinese,0) ifnull(math,0) ifnull(english,0)) from exam;
      
    • max:总计某列最大值,min:总计某列最小值

      -- 求班级最高分和最低分(数值范围在统计中特别有用)
      select max(chinese math english) ,min(ifnull(chinese,0) ifnull(math,0) ifnull(english,0)) from exam;
      
    • 语法:select 分组函数 from exam group by 列名;

      -- 按照某列进行分组统计(分组操作,就是具有相同数据记录分到一组中,便于统计)
      -- 查询购买了几类商品,并且每类总价大于100的商品
      select product,sum(price) from orders group by product having sum(price) > 100;
      
    • 面试题:where 和 having 条件语句的不相同 ?

      • where 是在分组前实行标准化过滤,having 是在分组后举行标准过滤;
      • 选用where地方都足以用 having替换;
      • having能够利用分组函数,而where后不得以用分组函数
  • SELETE语法小结
    -- select 语句写法 : 
    -- S-F-W-G-H-O 组合 select ... from ... where ... group by... having... order by ... ; 
    -- 数据库解析的顺序:不能改变 
    -- 解析顺序 : from  - where -  group by - having - select - order by
    

图片 36

MySQL数据库备份和回复

图片 37

数据库备份
备份命令 mysql/bin/mysqldump 将数据库SQL语句导出
语法:mysqldump -u 顾客名 -p 数据库名 > 磁盘SQL文件路线
⚠️备份时,脚本未有建库语句!

还原数据库

mysql命令~cmd下

  • 首先登场陆mysql必须要手动增添数据库db_name--->exit
  • mysql/bin/mysql 将sql文件导入到数据库
    图片 38

source 

  • 本子里面增添建库语句
  • 登录mysql > source  e:/kk.sql  回车
  • 补偿:复苏SQL也足以在数据库内部施行 source e:kk.sql
    图片 39

图片 40

案例演习

  链接: 密码: yfqn

  1. 正在安装中,请稍候,直到出现上面包车型大巴分界面, 则成功 MYSQL 的设置

图片 41

  1. 安装实现了,现身如下分界面将跻身 mysql 配置向导。

图片 42

  1. 选取安顿方式, “Detailed Configuration(手动正确配置) ”、 “Standard Configuration(规范配置) ”,小编
    们选择“Detailed Configuration”,方便熟习配置进度。

图片 43

  1. 慎选服务器类型, “Developer Machine(开辟测验类, mysql 占用非常少财富) ”、 “Server Machine(服务
    器类型, mysql 占用很多能源) ”、 “Dedicated MySQL Server Machine(特意的数据库服务器, mysql 占
    用具备可用财富) ”

图片 44

  1. 分选mysql数据库的大致用途, “Multifunctional Database(通用多作用型,好) ”、 “Transactional
    Database Only(服务器类型,专心于事务管理,一般) ”、 “Non-Transactional Database Only(非事务
    管理型, 较简单, 重要做一些监察、 记数用, 对 MyISAM 数据类型的支撑只限于 non-transactional), 按“Next”
    继续。

图片 45

图片 46

  1. 选料网站并发连接数,同一时间连接的数码, “Decision Support(DSS)/OLAP( 二十一个左右) “Online ”、 Transaction
    Processing(OLTP)( 500 个左右) ”、 “马努al Setting(手动设置,自身输二个数) ”。

图片 47

  1. 是或不是启用 TCP/IP 连接,设定端口,假使不启用,就只幸好本身的机器上访问mysql 数据库了,在那些页
    表面,您还是能采用“启用规范情势”( Enable Strict Mode),那样 MySQL 就不会允许细小的语法错误。
    固然是新手,提议您撤销标准格局以压缩麻烦。但熟知 MySQL 今后,尽量利用规范方式,因为它能够降
    低有剧毒数据步向数据库的也许。按“Next”继续

图片 48

  1. 即使对 mysql 暗许数据库语言编码实行安装(主要),一般选 UTF-8,按 “Next”继续。

图片 49

  1. 采取是还是不是将 mysql 安装为 windows 服务, 还足以钦定Service Name(服务标记名称), 是或不是将 mysql 的 bin
    目录参加到 Windows PATH(参与后, 就可以平素运用 bin 下的公文, 而不用提出目录名, 比方连接,
    “mysql. exe -uusername -ppassword;”就足以了,不用建议 mysql.exe 的欧洲经济共同体地址,很便利),我这里整个
    打上了勾, Service Name 不改变。按“Next”继续。

图片 50

  1. 询问是或不是要修改私下认可root 客户(一级处理) 的密码。 “Enable root access from remote machines(是还是不是允
    许 root 顾客在其他的机器上登录,要是要安全,就绝不勾上,如若要便于,就勾上它) ”。最终“Create
    An Anonymous Account(新建三个佚名客户,无名顾客能够再而三数据库,无法操作数据,富含查询) ”,
    貌似就无须勾了,设置停止,按“Next”继续。

图片 51

  1. 承认设置正确,按“Execute”使设置生效,即落成MYSQL 的装置和配备。

图片 52

图片 53

在意: 设置甘休, 按“Finish”后有贰个相比较常见的失实, 便是无法“Start service”, 一般出现在原先有安装 mysql
的服务器上,消除的法子,先确定保障以前设置的 mysql 服务器通透到底卸载掉了;不行的话,检查是或不是按上边一步所说,
事先的密码是还是不是有涂改,照上边的操作;要是仍旧非常,将 mysql 安装目录下的 data 文件夹备份,然后删除,在
安装实现后, 将设置生成的 data 文件夹删除, 备份的 data 文件夹移回来, 再重启 mysql 服务就足以了, 这种景观
下,或者须要将数据库检查一下,然后修复三遍,幸免数据出错。

图片 54

焚林而猎办法:卸载 MySQL,重装 MySQL

3.2 数据库的卸载

1. 停下 window 的 MySQL 服务。 找到“调节面板”-> “管理工科具”-> “服务”,结束 MySQL 后台服务

图片 55

  1. 卸载 MySQL 安装程序。找到“调节面板”-> "程序和法力",卸载 MySQL 程序。

图片 56

  1. 删除 MySQL 安装目录下的持有文件。
  2. 除去 c 盘 ProgramDate 目录中关于 MySQL 的目录。路线为: C:ProgramDataMySQL(是东躲福建文件,要求出示
    出来)

图片 57

第3节 数据库服务的开发银行与登入

 

 MySQL 服务器运行格局有二种:
1) 通过劳务的法门自行运转
2) 手动运行的艺术

图片 58

图片 59

 

 4.2 DOS 命令形式运维
4.2.1 操作步骤:

图片 60

 4.3  调控台连接数据库

MySQL 是八个索要账户名密码登入的数据库,登入后使用,它提供了一个私下认可的 root 账号,使用安装时设置
的密码就可以登陆

4.3.1 登陆格式 一:u 和 p 前边未有空格
mysql -u 用户名 -p 密码

图片 61

 后输入密码形式:

 图片 62

4.3.2 登陆格式 二: 

mysql -hip 地址 -u用户名 -p密码 

127.0.0.1 代表本机的 IP 地址 

 图片 63

4.3.3 登陆格式 三: 

mysql --host=ip 地址 --user=用户名 --password=密码 

图片 64

4.3.4 退出 MySQL: 

quit 或 exit 

4.4 SQLyog 图形化工具——客商端 

SQLyog 是产业界有名的Webyog 公司出品的一款轻便高效、成效强大的图形化MySQL 数据库管理工科具。使用
SQLyog 能够非常快直观地令你从世界的别的角落通过网络来保卫安全远端的 MySQL 数据库

4.4.1 使用 SQLyog 登陆数据库 

图片 65

4.5 MySQL 目录结构 

图片 66

4.6 数据库管理体系 

数据库管理连串(DataBase Management System,DBMS):指一种操作和治本数据库的大型软件,用于建
立、使用和维护数据库,对数据库实行联合保管和决定,以保证数据库的安全性和完整性。客户通过数据库管理
系统访问数据库中表内的多寡

4.7 数据库管理类别、数据库和表的关系
数据库管理程序(DBMS)能够管理多个数据库,一般开采职员会针对每四个应用创造叁个数据库。为保留应用
中实体的数目,一般会在数据库创建多少个表,以保留程序中实体 User 的数额。

      数据库处理连串、数据库和表的涉嫌如图所示:

 图片 67

4.7.1 结论:
贰个数据库服务器包含四个库
叁个数据库包罗多张表
一张表包括多条记下

 

 5.0 SQL 的概念  

5.1 什么是 SQL
Structured Query Language 结构化查询语言

5.2 SQL 作用
1) 是一种具备关系型数据库的查询专门的工作,分歧的数据库都帮助。
2) 通用的数据库操作语言,能够用在差别的数据库中。
3) 分化的数据库 SQL 语句有一对区别

 图片 68

5.3 SQL 语句分类

1) Data Definition Language (DDL 数据定义语言) 如:建库,建表
2) Data Manipulation Language(DML 数据操纵语言),如:对表中的笔录操作增加和删除改
3) Data Query Language(DQL 数据查询语言),如:对表中的询问操作
4) Data Control Language(DCL 数据调节语言),如:对客户权限的设置

 5.4 MySQL 的语法 

 

1) 每条语句以分行结尾,要是在 SQLyog 中不是必得加的。
2) SQL 中不区分轻重缓急写,关键字中认为大写和题诗是同样的
3) 3 种注释:

--空格 单行注释
/* */ 多行注释
# 那是 mysql 特有的笺注形式

第6节 DDL 操作数据库 

6.1 成立数据库
6.1.1 成立数据库的两种办法
 创立数据库
CREATE DATABASE 数据库名;
 决断数据库是还是不是业已存在,不设有则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
 创立数据库并钦定字符集
CREATE DATABASE 数据库名 CHARACTEHighlander SET 字符集;

6.1.2 具体操作: 

图片 69

6.2 查看数据库 

 按 tab 键能够活动补全关键字 

图片 70

图片 71

 

 6.3 修改数据库 

6.3.1 修改数据库暗中同意的字符集

 ALTE奥迪Q3 DATABASE 数据库名 DEFAULT CHARACTE瑞鹰 SET 字符集; 

如  将 db3 数据库的字符集改成 utf8 

 图片 72

6.4 删除数据库 

6.4.1 删除数据库的语法 

DROP DATABASE 数据库名; 

6.4.2 具体操作: 

每行 SQL 语句供给选中再进行,能够按 F9 

 如:删除 db2 数据库 

 图片 73

6.5 使用数据库 

 6.5.1 查看正在采用的数码库 

 SELECT DATABASE(); 使用的七个mysql 中的全局函数 

6.5.2 使用/切换数据库 

USE 数据库名; 

如:

图片 74

 

 第7节 DDL 操作表结构 (前提先选用有些数据库 )

7.1 创建表
7.1.1 创立表的格式

图片 75

7.1.2 关键字表达: 

成立表的根本字 表达
CREATE 创建
TABLE 表

7.2 MySQL 数据类型 

图片 76

图片 77

 7.2.3 具体操作: 

 创建 student 表包含 id,name,birthday 字段 

图片 78

7.3 查看表
7.3.1 查看某些数据库中的全数表

 SHOW  TABLES;

7.3.2 查看表结构

DESC 表名;

7.3.3 查看创造表的 SQL 语句

 

SHOW CREATE  TABLE 表名;

7.4 快捷成立二个表结构同样的表

7.4.1 语法

 

CREATE TABLE 新表名 LIKE 旧表名; 

7.5 删除表

1)DROP TABLE 表名;

2)决断是或不是留存 存在就删除:DROP TABLE IF EXISTS 表名;

7.6 修改表结构

7.6.1 增加表列 ADD :ALTE卡宴 TABLE 表名 ADD 列名 类型;

 7.6.2 修改列类型 MODIFY :ALTEPRADO TABLE 表名 MODIFY 列名 新的花色;

7.6.3 修改列名 CHANGE :ALTEPRADO TABLE 表名 CHANGE 旧列名 新列名 类型;

 7.6.4 删除列 DROP :ALTER TABLE 表名 DROP 列名;

7.6.5 修改表名 :RENAME TABLE 表名 TO 新表名;

7.6.6 修改字符集 character set :ALTE君越 TABLE 表名  CHARACTE牧马人 SET 字符集;

第8节 DML 操作表中的数据

 8.1 增添表中多少

INSERT [INTO] 表名 [ 字段名] VALUES ( 字段值)
8.1.1  插入全体字段

INSERT INTO  表名 ( 字段名 1,  字段名 2,  字段名 3…) VALUES (值 值 1, 值 值 2, 值 值 3);

不写字段名

INSERT INTO 表名 VALUES (值 值 1, 值 值 2, 值 值 3…);
8.1.2 插入部分数据
INSERT INTO 表名 ( 字段名 1, 字段名 2, ...) VALUES (

8.1.3  更新表记录

UPDATE  表名 SET  列名= 值 [WHERE  条件表达式]

8.4.1 不带条件修改数据
UPDATE 表名 SET 字段名= 值; -- 修改全部的行
8.4.2 带条件修改数据
UPDATE 表名 SET 字段名= 值 WHERE 字段名= 值;

8.5 删除表记录
DELETE FROM 表名 [WHERE 条件表达式]
若果没有一点名 WHERE 子句,MySQL 表中的全体记录将被剔除。
您能够在 WHERE 子句中钦点其余条件
8.5.1 不带条件删除数据
DELETE FROM 表名;

8.5.2 带条件删除数据
DELETE FROM 表名 WHERE 字段名= 值;
8.5.3 使用 truncate 删除表中全体记录
TRUNCATE TABLE 表名;
8.5.4 truncate 和 delete 的区别:
truncate 也正是删除表的构造,再创设一张表。

第9节 DQL 查询表中的数据

SELECT 列名 FROM 表名 [WHERE 条件表明式]
1) SELECT 命令可以读取一行或许多行记录。
2) 你能够选用星号(* )来取代其余字段,SELECT 语句会重返表的具有字段数据
3) 你能够使用 WHERE

9.1.2 查询钦命列
 查询钦命列的数量,两个列之间以逗号分隔
SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名;

9.2  钦点列的外号举办询问

 对列钦赐别称
SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名;

  对列和表相同的时间内定外号

SELECT  字段名 1 AS  别名,  字段名 2 AS  别名... FROM  表名 AS  表别名;

9.2.3 具体操作:
-- 使用别称
select name as 姓名,age as 年龄 from student;
-- 表使用小名
select st.name as 姓名,age as 年龄 from student as st
 表使用外号的缘故:用于多表查询操作

9.4  查询结果加入运算

9.4.1 某列数据和固定值运算
SELECT 列名 1 固定值 FROM 表名;
9.4.2 某列数据和其它列数据参预运算
SELECT 列名 1 列名 2 FROM 表名;
 注意: 加入运算的必得是数值类型

9.5  条件查询

SELECT  字段名 FROM  表名 WHERE  条件;

 运算符
正如运算符 表达
> 、< 、<= 、>= 、= 、<> <>在 SQL 中意味着不对等,在 mysql 中也能够行使!=
没有==
BETWEEN...AND 在一个范围以内,如:between 100 and 200
相当于法规在 100 到 200 之间,西宁又包尾
IN( 会集) 集结表示多少个值,使用逗号分隔
LIKE ' 张%' 模糊查询
IS NULL 查询某一名列 NULL 的值,注:不能够写=NULL

 逻辑运算符
逻辑运算符 表明
and 或 && 与,SQL 中国建工业总集结团议利用前边四个,前者并不通用。
or 或 || 或
not 或 ! 非

 in 关键字
SELECT 字段名 FROM 表名 WHERE 字段 in ( 数据 1, 数据 2...);

 like 关键字
LIKE 表示模糊查询
SELECT * FROM 表名 WHERE 字段名 LIKE ' 通配符字符串';

 MySQL 通配符
通配符 说明
% 相称大肆多个字符串
_ 相称叁个字符

 ======================================================注:数据库比较轻巧,不过单词比较多初学者要去记那些单词,基本的 增,删,改,查。有不当还请指正。对于初学者看不懂的能够百度,问老师,给本身留言都足以,祝读者学有所成。

 

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:MySql知识框架,01mysql数据库下载安装卸载及基本

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。