zoukankan      html  css  js  c++  java
  • day41_mysql安装与卸载 mysql配置 SQL语句 DDL:操作数据库,表 DML:增删改表中的记录 DQL:查询表中的记录 DCL:管理用户与授权

    今日内容

    • Mysql安装和卸载
    • Mysql配置
    • SQL:SQL语句
    • DDL:操作数据库,表
    • DML:增删改表中的记录
    • DQL:查询表中的记录
    • DCL:窜离用户与授权  

    Mysql安装和配置

    1.安装mysql 参见mysql安装文档

    2.卸载分成两步:

    • 安装版:

      • 找到my.ini datadir=C:/xxx 删除该目录下的文件

      • 从控制面板中一键卸载 mysql服务开启状态

    • 配置版:

      1.使用管理员权限打开cmd指令窗口,输入 net stop mysql

      2.在指令窗口中 输入 mysqld -remove

      3.删除本地安装的mysql目录文件夹

    3.mysql配置

    • mysql服务启动

      1.通过管理员权限cmd指令窗口, 输入net start mysql

      2.找到window服务窗口 打开运行窗口 输入 services.msc ---》找到myspl 手动启动

    • mysql登录

      1. 借助于cmd指令窗口

        • mysql -u登录账号 -p登录密码(没有密码直接回车就行)

        • mysql -h链接服务器的ip地址 -u登录账号 -p登录密码

          如果权限不够,给root账号开启链接的权限

          1.使用mysql数据库 use mysql

          2.grant all privileges on . to root@'%' identified by"链接服务器的密码" with admin option/with grent option (with admin option权限较高,关闭权限不会不收回,常用第二种,连带权限,一起被收回)

          3.flush privileges 刷新mysql的系统权限

      2. 借助于mysql可视化管理工具 Navicat

        解压Navicat压缩包,简单破解下,点击链接选择mysql 在链接窗口中的输入链接名,链接服务器ip地址,登录的账号和密码 ---》test 如果链接成功,代码代码已经成功登录进来

    • mysql 退出

      • quit

      • exit

    4.mysql目录结构

      1.mysql安装目录结构 basedir目录中

        bin 二进制文件 mysql可执行的脚本 mysqld.exe

        data 数据mysql运行需要的数据文件还有mysql运行的日志文件

        include C语言的头信息

        lib : mysql运行需要支持的一些类库 jar包文件

        share:mysql运行的一些错误信息

        my.ini mysql的配置信息

      2.mysql数据目录结构 datadir目录中

        数据库:就是一个个文件夹

        表:就是一个个文件

        数据:一条条记录

      3.数据库管理系统,数据库和表的关系

        可以使用数据库管理系统创建多个数据库,比如jaca31/apartment数据库。。。,一般一个项目对应的是一个数据库,一个数据库可以创建多张表没一般在项目中 ,数据库中的表映射Model类 pojo,model,entry

        比如数据库中创建一张用户表uesr, 在后台服务器中一般对应有一个model类 User.class

        后台中的model类 一般用于临时存储从数据库中查询出来对应表中的数据,如从user表查询出来一条记录,这条记录对应的就是后台服务器中的一个user对象(属性)

    SQL操作数据库 Structured Quary Language

      概念:结构化查询语言Structured Quary Language

      作用

        1.是一种所有关系型数据库的查询的标准,对所有的数据库都支持

        2.不同的数据库SQL语句可能有点不同 (方言) mysql oracle DB2 

    sql语句分类

        DDL:操作数据库,表 数据库定义语言 Data Definition Language

        DML:增删改表中的记录 数据库操作语言 Data Manipulation Language

        DQL:查询表中的记录 Data Query Language

        DCL:管理用户与授权 Data Control Language 数据控制语言

    DDL语言

      1.操作数据库:

        1.创建数据库 方式有很多种:

          1.create database 数据库名;

          2.create database if not exists 数据库名;//创建的时候先判断数据库是否存在

          3.create database 数据库名 character set编码字符集://创建数据库的指定编码字符集

        2. 

        -- 注释 mysql中的注释 -- 空格 注释的内容 单行注释

        /*

        多行注释

        */

        #注释

        -- 创建数据库的第一种方式 create database 数据库名; sql建议使用大写 一般大写和小写不区分

        == 分号 一般是sql语句的结束标志

        createDATABASE java31;

        -- 创建数据库的第二种方式 create database if not exists 数据库名;

        create datebase if not EXISTS apartment;

        -- 创建数据库的第三种方式 create database 数据库名 character set编码字符集;

        create database school character set utf8;

    createDATABASE java31;
    -- 创建数据库的第二种方式 create database if not exists  数据库名;
    create datebase if not EXISTS apartment;
    -- 创建数据库的第三种方式  create database 数据库名 character set编码字符集;
    create database  school character set utf8;
    --  三者组合到一起表达
    create database if not EXISTS college character set utf8; 

      2.查询r --retrieve

      •   查询当前数据库服务器的所有的数据库

        show databases;

      •   查询某个数据库的编码字符集:查询某个创建的数据库的编码字符集

        show create database数据库名称

         

      3.修改 u - --> update

    • 修改数据库的编码字符集

      alter datebase 数据库名称 character set 编码字符集;

    -- alter database 数据库名称 character set 编码字符集;
    alter database college CHARACTER set gbk;

      4.删除d --->delete drop

    • 删除数据库

      drop database 数据库名称

      drop database if exists 数据库名称;

    -- drop database if exists 数据库名称;
    DROP database if exists school;

    2.操作表

    1.创建表C ---》create

    • 语法:

      create table 表名(

      列名1 数据类型,

      列名2 数据类型,

      .........

      );

    • 数据类型

      整数类型 tinyint(微整形)8位 smallint(小整形)16位 mediumint(中整形)24位 int(integer)(整形)32位

      小数类型 double 8个字节 float 4个字节

      日期类型 date time(时分秒) datetime(年月日时分秒) timestamp时间戳 年月日时分秒

      时间戳,如果该字段为时间戳类型,没有赋值或者该字段值为null,则默认使用系统当前的事件自动赋值,一般情况一张表中只能有一个字段使用事件戳数据类型。

      字符串类型 char(固定长度的字符串) varchar(可变长度的字符串) 使用几个字符就占几个

      二进制类型 tinyblob(允许0-255个字节) big large bolb(允许0-65535个字节) longblob(非常大)

      文本类型 tinytext(允许长度为0-255个字节) text (允许0-65535个字节) longtext(非常大)

       格式:除了数字都加引号。

    2.查看创建的表

      show tables 查看当前使用的数据库下面的所有的表

      desc 表名:描述该表的结构

      查看创建的表 show create table 表名; --->查看该表创建使用到的sql语句

      快速创建一个表结构相同的表 create table 新表名 like 旧表名;

    3.修改 update

      修改表名 alter

      alter table 旧表名 rename to 新表明;

      修改表的字符集

      alter table 表名 chatacter set 编码字符集;

      添加一列字段 add

      alter table 表名 add列名 数据类型;

      删除一列 drop

      alter table 表名 drop 列名;

      修改列名 数据类型

      change alter table 表名 change 旧列名 新列名 数据类型;

      modify alter table 表名;

      删除 delete

      删除表 drop table 表名;

      删除前确认表是否存在 drop table if exists 表名;

      大多数情况下我们是直接借助于图形化管理工具Navicat

    DML 增删改数据库中的表的数据

    1.添加数据:

      语法:

        insert into 表名(列名1,列名2,列名3...,列名n) values(值1,值2,....值n);

      注意事项:

        列名和后面的值的类型要保持一致。

        如果表名后面没有指定列名,默认为给该表中的所有的列添加对应的值,注意依然是由顺序的。

        insert into 表名 values(值1,值2,.....值n);

        除了数字类型外(int,double),其他类型一律要使用引号(单引号和双引号都可以)引起来.

    2.删除数据:

      语法:delete

        delete from 表名 [where 条件];

      注意事项:

        如果后面不跟条件,则删除整张表的数据

        删除表的所有的记录 delete from student / truncate table 表名;(底层是先把表删除掉,然后再创建一张一模一样的表)

        如果条件中的字段值有重复的,凡是符合条件的都删除。

    3.修改数据: update

      语法:

        update 表名 set 列名1 = 替换值1; 列名2 = 替换值2,。。。列名n = 替换值n [where 条件];

      注意:

        如果不带条件,则会修改表中的所有记录

    DOL查询表中的记录 sekect ... from ...

      语法

        select 需要查询的信息(列名1,列名2,.....列名n)/* from 表名[where ];

      完善下:

      select

        字段列表

      from

        表名列表

      where

        条件列表

      grop by

        分组字段

      having

        分组之后的条件

      limit

        分页限定

    去重查询 distinct

      ifnull表达式 ifnull(表达式1,表达式2)

        表达式1:代表那个字段需要判断是否为null

        表达式2:如果该字段值为null后面可以进行替换

      起别名操作:

        语法 as也可以省略不写

        表名 as 新的名字

        查询出来的字段信息 as 新名字

        当你查询同一张表,并且进行多次查询的时候可以使用起别名来实现

      注意:

        起别名 只是在sql语句中方便查询使用的,并不会对数据原来的文件起到影响

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    青花瓷Java版
    让Broncho A1支持usbnet
    系统程序员成长计划组合的威力(三)
    【转】多CPU上的原子操作
    c#和javascript交互
    修改代码时有时会出现找不到某个组件
    UML用例建模的慨念和应用
    DJ曲二
    查询数据库里的存储过程的文本中的某个内容
    UML静态建模
  • 原文地址:https://www.cnblogs.com/rxqq/p/14228195.html
Copyright © 2011-2022 走看看