第二章 初识MySQL

1.MySQL简介

        MySQL的优势(适用于中小企业,最重要免费)

              (1)运行速度快

              (2)使用成本低

              (3)可移植强

              (4)使用用户广

          my.ini:记录MySQL配置信息,可修改配置内容,如端口号,字符集等

2.MySQL运行机制

      

         总的来说,接口连接到连接池有两种情况:(1)验证不成功就会返回到原来

                                                                             (2)验证成功(如有缓存也会回到上一级)

                                                                                     如未找到缓存就会继续进行SQL接口,解析,查询,优化

                                                                                     到存储引擎(一个一个的数据库)查找相关内容返回

3. 命令执行MySQL

    语法: mysql -h服务器主机地址(可省略不写)  -u用户名 -p密码

             eg:mysql  -uroot  -proot            或          mysql   -uroot  -p

  如图:

4.创建数据库

          语法:create  database   数据库名;

                     eg:create  database  test_123;

                         ;是结束语,不可缺少

        如图:

5.查看数据库列表

          语法:show  databases;

      

6.选择数据库

       语法: use 数据库名

              eg:use  mybase;

               必须填写存在的数据库,否则会报错

     

7.删除数据库

     语法:drop  database  数据库名;

         eg:drop database  myschool;

 8.SQLyong——图形化的MySQL管理工具

    优点:  免费              简洁高效           功能强大

9.回顾一下我们的结构化查询语言

        (1)DML(数据操作语言):用来操作数据库中所包含数据      eg:insert,update,delete

        (2)DDL(数据定义语言):用于创建,删除数据库对对象操作     eg:create,drop,alter

        (3)DQL(数据查询语言):用来对数据库中数据进行查询      eg:select

        (4)DCL(数据控制语言):用来控制数据库组件的存取许可,存取权限   eg:grant,commit,rollback

10.MySQL数据类型——数值类型

                 类型                            说明                           存储需求

      (1)TINYINT                  非常小的数据                    1字节

      (2)SMALLINT               较小的数据                        2字节

      (3)MEDIUMINT            中等大小的数据                 3字节

      (4)INT                            标准整数                           4字节

      (5)BIGINT                      较大整数                           8字节

      (6)FLOAT                       单精度浮点数                    4字节

      (7)DOUBLE                   双精度                                8字节

      (8)DECIMAL                  字符串形式浮点数              M+2字节

      UNSIGNED属性:标识为无符号数     

      ZEROFILL属性:宽度(位数)不足以0填充

11. 字符串类型

           类型                              说明                           长度

         CHAR[(M)]                  定长字符串                    M字节

         VCHAR[(M)]                可变字符串                   可变长度

         TINYTEXT                   微型文本串                   0-2的8次-1字节

          TEXT                            文本串                         0-2的16次-1字节

12.日期类型

         类型                        格式                        取值范围

        DATE             YYYY-MM-DD               1001-01-01~9999-12-31

        DATETIME    YY-MM-DD hh:mm:ss     1000-01-01  00:00:00

        TIME              hh:mm:ss                         838:59:59

        TIMESTAMP  YYYYMMDDHHMMSS    精度为1秒

        YEAR              YYYY格式的年份             1901-2155  

       注意:若某日期字段默认值为当前日期,一般设置TIMESTAMP

13.创建表

    语法:

             create  table   表名( 字段1,数据类型,[字段属性],[约束] [索引][注释],

                ...................

              字段n   数据类型 [字段属性] [约束][索引] [注释]

               )[表类型] [表字符集] [注释]; 

        eg:

                create  table  `student`(

                 `studentNO`  INT(4) PRIMARY  KEY, 

                  `name` char(10),

                    ............);

          注意: 多字段使用逗号分隔

                       保留字用撇号括起来

                        单行注释 :#...........                   多行注释:/*........*/

14.字段的约束以及属性

          名称                       关键字                             说明

  非空约束                  NOT  NULL                   字段不允许为空

  默认约束                  DEFAULT                       赋予某字段默认

 唯一约束                  UNIQUE KEY(UK)         设置字段的值是唯一的,允许为空,但只能有一个空值

主键约束                   PRIMARY KEY(PK)        设置字段为表的主键,可唯一标识该表记录

外键约束                   FOREIGIN KEY(PK)        建立两表关系,需要指定引用主表的哪一字段

自动增长                   AUTO_INCREMET           自增字段,默认每条自增1,通常用于设置主键

15.(1)主键

              eg:

                         CREATE TABLE student( `studentNo` INT(4) PRIMARY KEY,

                          ……);

     (2)注释

                  eg:

                              CREATE TABLE test ( `id` int(11) UNSIGNED COMMENT ‘编号’

                               )COMMENT='测试表’ ;

       (3)设置字符集编码

                      eg:

                            CREATE TABLE [IF NOT EXISTS] 表名(

                             #省略代码

                             )CHARSET = 字符集名;

15.查看表是否存在

               use myschool   或  show   tables

16.查看表定义

       describe 表名  或  desc  表名 

                 避免DOS窗口乱码,可执行  SET NAMES gbk;

17.删除

     语法:   drop   table   表名                eg:drop   table [IF  EXISTS]  school; 

         在删除表之前,先使用  IF EXISTS 语句验证是否错误       

18.存储引擎类型

        MyISAM,InnoDB,Memory,CSV等     

19.MyISAM与InnoDB区别:

           名称                            InnoDB                        MyISAM         

        事务处理                        支持                               不支持

       数据行锁定                     支持                               不支持

       外键约束                         支持                               不支持

       全文索引                         不支持                             支持

        表空间大小                    较大,约2倍                     较小

    

        适用场合

                     使用MyISAM: 不需事务,空间小,以查询访问为主

                      使用InnoDB: 多删除、更新操作,安全性高,事务处理及并发控制

20.帮助功能

        help   查询内容;           eg:  help   contents;

原文地址:https://www.cnblogs.com/unique1/p/12788620.html