一 . 初识SQL语言


SQL (Structured  Quqry  Language) : 结构化查询语言 , 主要用于存取数据 , 查询数据 , 更新数据和管理关系数据库系统


SQL语言分为3种类型 , 分别为 :

1 . DDL语句 数据库定义语言(Data  Definition  Language) 一般为创建数据库 , 表 , 视图 , 索引 , 存储过程等

2 . DML语句 数据库操纵语言(Data Manipulation Language): 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3 . DCL语句 数据库控制语言(Data Control Language): 例如控制用户的访问权限GRANT(授予权限)、REVOKE(收回权限)




问 :mysql的库文件、表文件默认的保存路径是?分别是以什么类型的文件存储在硬盘上?

答 :保存路径/var/lib/mysql
库文件类型:以目录的形式存储在/var/lib/mysql目录中
表文件:以普通文件的形式存储字库的目录中

   


         

 二 . 库的基本操作


数据库的库表操作大致分为增删改查四个操作 , 即插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT


1 . 创建数据库

语法 : create  database  数据库名 ;

命名规则 : 区分大小写 , 具有唯一性 , 不能使用 create  select 等关键字来命名 , 不能单独使用数字

例 : 创建一个名为db1的数据库

image.png

          

2 . 查看数据库 和 使用数据库

查看数据库 : show databases;

使用数据库 : use  数据库名

elect  database();   #返回当前数据库的名字

image.png         

从上图可以看到 , 列出的数据库有刚创建的db1数据库 , 使用数据库可以看到提示 : Database  changed 数据库发生改变

          

3 . 删除数据库

语法 : Drop  database  数据库名;

例 : 删除创建的db1库 , 并查看db1库是否存在

image.png




三 . 表的操作


1.创建表

语法 : create  table  表名(字段名称  类型(值的范围))[存储引擎 字符集];

注 : 在同一张表中 , 字段名是不能相同的 , 并且创建表必须定义字段和类型

例 : 在test库中创建名为tb1的表

image.png

desc  tb1 ;      #查看tb1表的结构

 

2 . 在表中插入数据

语法 : insert  into  表名[字段名]  values(需要插入的数据)    //插入的数据要与表的字段相匹配

例: 在tb1表中插入3条数据

image.png

(向指定的字段插入值 --- 例 :只插入编号和名字  insert  into  tb1(id , name)  values(8 , 'qwer'))


 3 . 查看表中的数据

语法 : select [表中的字段]  from  表名  where  [查询条件]

例 : 查看tb1表   (* 表示查询所有)

image.png

           

4 . 表的修改操作(alter)

在表中最后新增指定的列字段 : alter  table  表名  add  字段名  数据类型 ;

在表中第一列或字段名A列之后新增指定的列字段 : alter  table  表名  add  字段名  数据类型 [first|after 字段名A];

删除表中的某列字段 : alter  table  表名  drop  字段名 ;

修改某列的属性[即字段名和数据类型] :

修改某列的数据类型 : alter  table  表名  modify  字段名  新数据类型 [first|after  字段A];

修改某列的字段名和数据类型 : alter  table  表名  change  旧字段名 新字段名  新数据类型 [first|after 字段名];

例 : 在name列的后面增加一个sex字段 , 指定类型为enum('m','f') ,增加后查看表的结构        //enum('m','f') 表示在sex字段中插入值只能为m或f , 不是这两个字母 , 插入数据时就会报错

image.png


5 . 表的删除操作

 格式 : drop  table  [库名].表名

 例 : 删除test库中的tb1这张表

image.png

删除tb1表并查看 , 可以看出tb1表已经删除 (如果不再test数据中就要使用 drop  table  test.tb1 来删除 , 记得看数据库当前路径是什么)