美文网首页MYSQL
2.SQL语句介绍

2.SQL语句介绍

作者: Stone_説 | 来源:发表于2020-04-14 01:28 被阅读0次

    1. 关系型数据库的常见组件

    数据库:database
    表:table
            行:row
            列:column
    索引:index
    视图:view
    用户:user
    权限:privilege
    存储过程:procedure
    存储函数:function
    触发器:trigger
    时间调度器:event scheduler,任务计划
    

    2. SQL语言规范

    在数据库系统中,SQL语句不区分大小写(建议用大写)
    SQL语句可单行或多行书写,以“;”结尾
    关键词不能跨多行或简写
    用空格和缩进来提高语句的可读性
    字句通常位于独立行,便于编辑,提高可读性
    注释:
            SQL标准:
                    /*注释内容*/    多行注释
                    -- 注释内容     单行注释,注意有空格
            MySQL注释:
                    #
    

    3. SQL语句分类

    DDL:Data Defination Language数据定义语言
            CREATE,DROP,ALTER
    DML:Data Manipulate Language数据操纵语言
            INSERT,DELETE,UPADATE
    DCL:Data Control Language数据控制语言
            GRANT,REVOKE,COMMIT,ROLLBACK
    DQL:Data Query Language数据查询语言
            SELECT
    

    4. SQL语句构成

    SQL语句构成:
        Keyword组成clause
        多条clause组成语句
    示例:
        SELECT *                 SELECT子句
        FROM products            FROM子句
        WHERE price>400          WHERE子句
        说明:一组SQL语句,有三个子句构成,SELECT,FROM和WHERE是关键字
    

    5. 数据库操作

    创建数据库:
        CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME';
        CHARACTER SET 'character set name' COLLATE 'collate name'
    修改数据库:
        ALTER DATABASE DB_NAME character set utf8;
    删除数据库:
        DROP DATABASE|SCHEMA [IF EXISTS] 'DB_NAME';
    查看支持所有字符集:
        SHOW CHARACTER SET;
    查看支持所有排序规则:
        SHOW COLLATION;
    获取命令使用帮助:
        mysql> HELP KEYWORD;
    查看数据库列表:
        mysql>SHOW DATABASES;
    

    6. 表的操作

    表:二维关系
    设计表:遵循规范
    定义:字段,索引
            字段:字段名,字段数据类型,修饰符
            约束,索引:应该创建在经常用作查询条件的字段上
    

    6.1 表的创建

    创建表:CREATE TABLE
        1. 直接创建
        2. 通过查询现存表创建;新表会被直接插入查询而来的数据
              CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definitation,...)] [table_options] [partition_options] select_statement
        3. 通过复制现存的表的表结构创建,但不复制数据
              CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name {LIKE old_tbl_name} |(LIKE old_tbl_name)}
    注意:
        Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎,同一库中不同表可以使用不同的存储引擎
        同一库中表建议要使用同一种存储引擎类型 
    
    CREATE TABLE [IF NOT EXISTS] 'tbl_name' (col1 type1 修饰符,col2 type2 修饰符,...)
    字段信息:
        col type1
        PRIMARY KEY(col1,...)
        INDEX(col1,...)
        UNIQUE KEY(col1,...)
    表选项:
        ENGINE [=] engine_name
          SHOW ENGINES;查看支持的engine类型
        ROW_FORMAT [=]
          {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
    获取帮助:
        mysql> HELP CREATE TABLE:
    
    查看所有的引擎:SHOW ENGINES
    查看表:SHOW TABLES [FROM db_name]
    查看表结构:DESC [db_name.] tb_name
               SHOW COLUMNS FROM [db_name.] tb_name
    删除表:DROP TABLE [IF EXISTS] tb_name
    查看表创建命令:SHOW CREATE TABLE tbl_name
    查看表状态:SHOW TABLE STATUS LIKE ‘tbl_name’
    查看库中所有表状态:SHOW TABLE STATUS FROM db_name
    
    DROP TABLE [IF EXISTS] 'tbl_name';
    ALTER TABLE 'tbl_name'
      字段:
          添加字段:add
             ADD col1 data_type [FIRST_AFTER col_name]
          删除字段:drop
          修改字段:
             alter (默认值),change(字段名),modify(字段属性)
          索引:
             添加索引:add index
             删除索引:drop index
          表选项:
             修改:
    查看表上的索引:SHOW INDEXES FROM [db_name];
    查看帮助:HELP ALTER TABLE
    

    6.2 表的创建例子

    ALTER TABLE students RENAME s1;
    ALTER TABLE s1 ADD phone varchar(11) AFTER name;
    ALTER TABLE s1 MODIFY phone int;
    ALTER TABLE s1 CHANGE COLUMN phone mobile char(11);
    ALTER TABLE s1 DROP COLUMN mobile;
    ALTER TABLE s1 character set utf8;
    ALTER TABLE s1 change name name varchar(20) character set utf8;
    Help ALTER TABLE 查看帮助
    
    ALTER TABLE students ADD gender ENUM('m','f');
    ALTER TABLE students CHANGE id sid int UNSIGNED NOT NULL PRIMARY KEY;
    ALTER TABLE students drop primary key;
    ALTER TABLE students ADD UNIQUE KEY(name);
    ALTER TABLE studnets ADD INDEX(age);
    ALTER TABLE students drop primary key;
    DESC students;
    SHOW INDEXES FROM students;
    ALTER TABLE students DROP age;
    

    相关文章

      网友评论

        本文标题:2.SQL语句介绍

        本文链接:https://www.haomeiwen.com/subject/jjqamhtx.html