MySQL之初识sql语句与库操作

1>SQL语言的类型

    SQL:Structured Query Language 即结构化查询语言

    SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,,SQL语言由IBM开发

    -->DDL语句    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
    -->DML语句    数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

    -->DCL语句    数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

    其本质上就是对文件夹(数据库),文件(表),和文件内容(数据记录)进行增删改查操作

    1.1>操作文件夹(数据库)

    如下,创建数据库db1,实质上就是在data目录下面新建了一个db1文件夹,db1文件夹下面默认创建了

    数据管理文件。

    

    

            增:create database db1 charset utf8;

            查:show databases;    # 查看所有库

                   show create database db1;    #  查看单个库

            改:alter database db1 charset latin1;

            删:drop database db1;

    1.2>操作文件(表)

    到哪个库下面操作,就用use 库名切换到该库下,可以用select database();查看大当前所在库。

    

    如上,创建了table t1,对应生成了两个文件,.frm是存放表结构的文件,.ibd是存放对应表数据的文件。

    

            增:create table t1(id int,name char);    # 表要包含列名,指定数据类型

            查:show tables;    # 查看所有表

                    show create table t1;    # 查看单个表

                    desc t1;     # 查看单个表

            改:alter table t1 modify name char(3);    # 更改列属性如数据类型
                   alter table t1 change name Name char(2);    # 更改列名,
            删:drop table t1;

    1.3>操作文件内容(表里面的数据记录)

            增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');    # 插入多条数据

            查:select * from t1;    # 查询所有

                    select id from t1;    # 查询指定列

            改:update t1 set name='sb' where id=2;    # 根据约束条件更改
            删:delete from t1 where id=1; 

2>库相关

    2.1>database下面一些库的用处。

    information_schema: 虚拟库,不占用磁盘空间,存储在内存里面,随数据库服务启动而产生的,

该库存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等。

    所以如下图,命令行能查看到该库,但是硬盘上却看不到该文件。

    performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,
记录处理查询请求时发生的各种事件、锁等现象
    mysql: 授权库,主要存储系统用户的权限信息

    

    2.2>库操作

        库的增,删,改,查再上面的1.1已经介绍了,这里总结下语法,如下:

    -->增:CREATE DATABASE 数据库名 charset utf8;
    -->查:show databases; show create database db1; select database();
    -->删:DROP DATABASE 数据库名;
    -->改:ALTER DATABASE 数据库名 charset utf8;
    -->切换数据库:USE 数据库名

猜你喜欢

转载自blog.csdn.net/huangql517/article/details/80234839