• MySQL


    一、安装

    1) 找到适合自己系统的MySQL安装,双击打开

     

    2) 点击Next进行下一步

    3) 选择同意协议,点击Next

     

    4) 选择Custom点击Next

     

    5) 选择MySQL的安装目录,点击Next

     

    6) 确认路径信息,选择Install

     

    7) 进入读条状态,稍安勿躁

     

    8) Next

     

    9) Next

     

    10) 选择Configure…点击Finish

     

    11) 选择Next

     

    12) 选择详细配置,点击Next

     

    13) 选择开发者机器,点击Next

     

    14) 选择多用途数据库,点击Next

     

    15) 设置数据库实例路径,一般不使用默认,点击Next

     

    16) 设置并发连接上线,点击Next

     

    17) 一般不用改使用默认值即可,点击Next

     

    18) 设置数据库编码为utf8(关键步骤)

     

    19) 设置MySQL服务信息,点击Next

     

    20) 设置超级管理员root的密码,我这里设置为root,点击Next

     

    21) 点击Execute执行操作

     

    22) 出现四个对勾,配置成功,点击Finish

     

    23) 打开命令行窗口CMD

     

    24) 输入mysql –uroot –proot出现如下内容

    25) 输入 show databases出现数据库信息,MySQL安装成功

     

    26) 输入quit退出数据库

     

    二、卸载

    1) 打开控制面板,找到卸载程序

     

    2) 找到MySQL Server 5.1双击选择是程序自动卸载

     

    3) 找到MySQL安装目录删除MySQL文件

     

    4) 打开注册表

     

    5) 删除以下内容:

    a) HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesEventlogApplicationMySQL HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesEventlogApplicationMySQL HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationMySQL

    6) 删除C:ProgramDataMySQL文件夹

     

    三、基本操作

    • MySQL的重要文件
      • MySQL安装目录in mysqld.exe
        • MySQL服务器程序,必须启动数据库才能正常使用
      • MySQL安装目录in mysql.exe
        • MySQL的客户端程序,用来操作MySQL数据库
      • MySQL安装目录 my.ini
        • MySQL数据库的配置文件
    • 登录:mysql -u用户名 -p密码
    • 退出:quitexit
    • 基本SQL语法
      • SQL语句可以写成单行或者多行,以分号结尾
      • MySQL中不区分大小写,但是建议关键字大小
    • SQL语句
      • 数据定义语言DDL(Data Definition Language)
      • 数据操作语言DML(data manipulation language)
      • 数据控制语言DCL(Data Control Language)
      • 数据查询语言DQL(Data QueryLanguage)
    • 常见语句:
      • 登录mysql –u用户名 –p密码
      • 退出:quitexit
      • 查看数据库的编码信息:show variables like 'char%';
      • 显示所有数据库show databases;
      • 访问数据库use 数据库;
      • 查看所有的表show tables;
      • 创建数据库CREATE DATABASE [IF NOT EXISTS] 数据库 [CHARSET=utf8]
      • 删除数据库DROP DATABASE [IF EXISTS] 数据库
    • 数据库:增删数据库
               CREATE DATABASE 数据库名;
               DROP DATABASE  数据库名;
    • 创建
      • 语法

    CREATE TABLE [IF NOT EXISTS] 表名

    (

    列名 类型,

    列名 类型,

    其他选项

    )

    •   查看表结构DESC 表名;
    •   删除DROP TABLE [IF EXISTS]
    •  命名表RENAME TABLE 旧名 TO ;
    •  插入数据

    INSERT INTO 表名 (列名1,列名2,列名3…) VALUES(1,2,3);

    INSERT INTO 表名 VALUES(1,2,3);

    •  修改数据

    UPDATE 表名 SET 列名1=1,列名2=2… WHERE …

    •  删除数据

    DELETE FROM 表名 WHERE…

    •  清空表中的数据

     TRUNCATE [TABLE] 表名;

    •  查询

     SELECT * FROM 表名 WHERE…;

     SELECT 列名1 别名1 , 列名2 别名2 … FROM 表名 WHERE…

    SELECT * FROM 表名 WHERE … LIMIT 索引 , 长度

    •  查询表创创建

    show create table 表名---->复制----->粘贴

     

     

    四、常见数据类型

    字符串

    数据类型

    说明

    CHAR

    1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR1

    VARCHAR

    可变长度,最多不超过255字节,如在创建时指定VARCHARn),则可存储0~n个字符的变长串

    TINYTEXT

    TEXT,最大长度为255字节

    MEDUIMTEXT

    TEXT,最大长度为16K

    TEXT

    最大长度为64K的变长文本

    LONGTEXT

    Text,最大长度为4GB(纯文本,一般不会到4G

    数值

    数据类型

    说明

    int[(m)]

    有符号值:-2147683648 2147683647- 2^31 2^31- 1

    无符号值:042949672950 2^32 1

    double[(m, d)]

    最小非零值:±2.2250738585072014e 308

    decimal (m, d)

    可变;其值的范围依赖于m d

    时间

    数据类型

    说明

    DATE

    1000-01-01——9999-12-31

    TIME

    -838:59:59——838:59:59

    DATETIME

    1000-01-01 00:00:00——9999-12-31 23:59:59

    TIMESTAMP

    19700101080001——20380119111407

    进制

    数据类型

    说明

    TITYBLOB

    最大长度为255字节

    BLOB

    最大长度为64KB

    MEDIUMBLOB

    最大长度为16MB

    LONGBLOB

    最大长度为4GB

    五、约束、多表连接

         1、约束

     主键[primary key ]:可以唯一的表示一行数据,可以快捷的检索到一条数据!
                  唯一
                  非空
                  可以被引用
        
       自增:auto_increment:自增仅仅适用于数值类型的值!
       
       非空:not null :表示当前字段值不能为null
     
       唯一:unique:表示当前字段值必须是唯一的
       
       注意:约束必须放在列名类型后面,至于多个约束的顺序无所谓!
       外键:
          外键关联指的是将一个表中的列和另一个表的主键进行关联

    2、约束案例

    1)一对一

     经典案例:夫妻

    CREATE TABLE husband(
                  id INT PRIMARY KEY AUTO_INCREMENT,
                  `name` VARCHAR(50) NOT NULL
                )
    
                SELECT *  FROM husband;
    
    
                INSERT INTO husband(id,`name`) VALUES(1,"张三");
                INSERT INTO husband(id,`name`) VALUES(2,"李四");
    
                CREATE TABLE wife(
                  id INT PRIMARY KEY AUTO_INCREMENT,
                  `name` VARCHAR(50) NOT NULL,
                  FOREIGN KEY(id) REFERENCES husband(id)
                )
    
                SELECT *  FROM wife;
    
                INSERT INTO wife(id,`name`) VALUES(NULL,"小红")
    View Code

    2)一对多

    通常是在多的一端关联一的主键!通常将外键建在多的一端!
            经典案例:部门表与员工表 dept& emp

    CREATE TABLE dept(
              id INT PRIMARY KEY AUTO_INCREMENT,
              dept_name VARCHAR(50) NOT NULL UNIQUE
            )
    
            SELECT * FROM dept;
    
            INSERT INTO dept(id,dept_name) VALUES(1,'开发部门');
            INSERT INTO dept(id,dept_name) VALUES(2,'产品部门');
            INSERT INTO dept(id,dept_name) VALUES(3,'测试部门');
    
            CREATE TABLE emp(
              id INT PRIMARY KEY AUTO_INCREMENT,
              emp_name VARCHAR(50) NOT NULL,
              dept_id INT,
              FOREIGN KEY(dept_id) REFERENCES dept(id)
            )
    
            SELECT * FROM emp;
    View Code

    3)多对多

    经典案例:教师 学生

      CREATE TABLE teacher(
                 id INT PRIMARY KEY AUTO_INCREMENT,
                 `name` VARCHAR(50) NOT NULL
                )
    
                SELECT *  FROM teacher;
    
                INSERT INTO teacher(id,NAME) VALUES(NULL,"张老师");
                INSERT INTO teacher(id,NAME) VALUES(NULL,"李老师");
                INSERT INTO teacher(id,NAME) VALUES(NULL,"朱老师");
    
                CREATE TABLE student(
                 id INT PRIMARY KEY AUTO_INCREMENT,
                 `name` VARCHAR(50) NOT NULL
                )
    
                SELECT *  FROM student;
    
                INSERT INTO student(id,`name`) VALUES(NULL,'谭江');
                INSERT INTO student(id,`name`) VALUES(NULL,'张蕊');
                INSERT INTO student(id,`name`) VALUES(NULL,'钥匙');
    
                CREATE TABLE tea_stu(
                  tea_id INT,
                  stu_id INT,
                  FOREIGN KEY(tea_id) REFERENCES teacher(id),
                  FOREIGN KEY(stu_id) REFERENCES student(id)
                )
    
                SELECT *  FROM tea_stu;
               
    View Code

    3、表连接

     横向连接:

       

     select 列名1,列名2...
         from 表1
         join 表2
         on 连接条件
         where 过滤条件
         group by 分组条件1,分组条件2
         having 聚合函数过滤
         order by 排序列1,排序列2
         limit 分页
    View Code
    SELECT emp.id AS emp_id,emp.emp_name,dept.`id` did, dept_name
            FROM emp
            JOIN dept
            ON emp.`dept_id`=dept.`id`
            WHERE 
            GROUP BY 
            HAVING
            ORDER BY
            LIMIT
    View Code

      纵向连接:

    SELECT dept.`id` ,dept.`dept_name`
        FROM dept
        UNION
        SELECT emp.`id`,emp.`emp_name`
        FROM emp
    View Code

     all UNION是全部,

     UNION 去重

     

     

  • 相关阅读:
    NX二次开发-UFUN UF_UI_add_to_class_sel将UDOTestClass类的显示名称加入到类选择对话框的类列表中
    NX二次开发-UFUN创建管道UF_MODL_create_tube
    NX二次开发-UFUN获得工作视图的tag UF_VIEW_ask_work_view
    SQLyog/Mysql怎么修改用户/root密码【转载】
    MySQL返回来的值都是字符串类型,还原每个字段【转载】
    NX二次开发-NX访问MySQL数据库(增删改查)
    NX二次开发-ug表达式函数ug_find_file读取当前prt所在路径【转发】
    QT界面开发-QProgressBar【转载】
    QT界面开发-使用new QComboBox添加触发事件
    QT界面开发-窗口滚动条【转发】
  • 原文地址:https://www.cnblogs.com/bkyy/p/7840616.html
Copyright © 2020-2023  润新知