mysql基础

一、SQL语言的组成部分

  DDL:数据定义语言

    主要用于数据库、表、视图、索引等操作

  CML:数据操作语言

    主要用于增(INSERT)删(DELETE)改(UPDATE)查(SELECT)

  DCL:数据操作语言

    主要用于授权(GRANT)及取消授权(REVOKE)

二、数据字典与元数据

  数据字段:各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要结果 

      作用:保存数据库服务器元数据

  元数据:与数据本身无关,但是也是与数据

    元数据保存信息:   

        关系的名字
        每个关系的各字段的名字
        各字段的数据类型和长度
        约束
        每个关系上的视图的名字及视图的定义
        授权用户的名字
        用户的授权和账户信息

        统计类数据:         

          每个关系字段的个数
          每个关系中行数
          每个关系的存储方法

     元数据保存的数据库: information_schema

三、数据类型:     

     数值型:

        INT:大整数值

        BIGINT:极大整数值

        FLOAT:单精度浮点值

        DOUBLE:双精度浮点值

        DECIMAL:小数值

        TINYINT:小整数值

     日期和时间类型

        DATE:日期值

        TIME:时间值

        YEAR:年份值

        DATATIME:混合日期和时间

        TIMESTAMP:混合日期和时间时间戳

      字符串型:

        CHAR:定长字符串

        VARCHAR:变长字符串

        TEXT:长文本数据

四、服务器变量:可以用于调优。

    服务器变量分类

        系统变量:系统设置的可以更改的变量

          查看系统变量:show variables;

        状态变量:查看并监控mysql状态的变量

          查看状态变量:show status;

    从使用上分类

        局部变量

        全局变量

        会话变量

        用户变量

    查看服务器上的变量:       

        mysql> show [{global|session}] variables [like ''];
        mysql> select @@{globa|session}.variable_name
         mysql> select * from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='SOME_VARIABLE_NAME'; 查看全局变量
        mysql> select * from information_schema.SESSION_VARIABLES where VARIABLE_NAME='SOME_VARIABLE_NAME'; 查看会话变量

五、MySQL中字符大小写

  1.SQL关键字及函数不区分大小写
  2.数据库、表及视图名称的大小写区分与否取决于底层OS及FS
  3.存储过程、存储函数及事件调度器的名字不区分大小写,但触发器区分大小写
  4.表别名区分大小写
  5.对字段中的数据,如果字段类型为binary类型,则区分大小写,非binary不区分大小写

六、数据库操作

    1.查看当前所有数据库

     SHOW DATABASES;

   2.设置默认数据库

    use database;

   3.查看当前默认数据库字符集

    SHOW VARIABLES LIKE 'CHARACTER_SET_DATABASE' ;

  4.查看数据库:SHOW DATABASES;

  5.创建数据库:CREATE DATABASE DATABASE_NAME;

    例:创建名为test1的数据库

      CREATE DATABSE test1;

  6.删除数据库  

    DROP DATABASE  DATABASE_NAME;

  7.修改数据库字符集

    ALTER DATABASE database_name CHARACTER SET 'utf8'

七、表的操作

  1.查看数据库中有那些表

    SHOW TABLES;

  2.查看某个表的表结构

    desc table_name;

    desc database.table_name;

  3.查看表的状态信息

    show table status  like ‘table_name’

  4.创建新表

    CREATE TABLE  table_name (

      字段名1  字段类型  约束,

      字段名2  字段类型  约束,

      表定义:主键等等   

    );

  5.约束:  

     NOT NULL :非空,用于保证该字段的值不能为空。例如学生表的学生姓名及学号等等。

     DEFAULT:默认值,用于保证该字段有默认值。例如学生表的学生性别

     PRIMARY KEY:主键,用于保证该字段的值具有唯一性并且非空。例如学生表的学生学号等。

     UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空。例如注册用户的手机号,身份证号等。

     FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中某些的值。例如学生表的专业编号.

  6.复制一个表创建新表:

    CREATE TABLE 新表名LIKE table_name;

  7.复制一个表结构创建新表

    CREATE TABLE 新表名 AS SELECT * FROM table_name;

  8.删除表

    DROP TABLE table_name ;

  9.修改表

      插入一个新字段:

       ALTER TABLE 表名 ADD  COLUMN 字段名 字段类型;

      修改一个字段

        修改字段名:ALTER TABLE 表名  CHANGE  旧字段名  新字段名  字段类型;

        修改字段类型:ALTER TABLE 表名  MODIFY 字段名 字段类型;

       删除一个字段:

      ALTER TABLE 表名 DROP 字段名 ;

八、视图操作

  1.创建视图:CREATE VIVEW 视图名 AS SELECT语句

  2.删除视图:DROP VIVEW 视图名

 

posted @ 2020-05-25 16:53  Kevinz  阅读(148)  评论(0编辑  收藏  举报