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; # 查看单个库
删: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 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; # 查询指定列
删:delete from t1 where id=1;
2>库相关
2.1>database下面一些库的用处。
information_schema: 虚拟库,不占用磁盘空间,存储在内存里面,随数据库服务启动而产生的,
该库存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等。
所以如下图,命令行能查看到该库,但是硬盘上却看不到该文件。
记录处理查询请求时发生的各种事件、锁等现象
mysql: 授权库,主要存储系统用户的权限信息
2.2>库操作
库的增,删,改,查再上面的1.1已经介绍了,这里总结下语法,如下:
-->增:CREATE DATABASE 数据库名 charset utf8;
-->查:show databases; show create database db1; select database();
-->删:DROP DATABASE 数据库名;
-->改:ALTER DATABASE 数据库名 charset utf8;
-->切换数据库:USE 数据库名