一 . 初识SQL语言mysql
SQL (Structured Quqry Language) : 结构化查询语言 , 主要用于存取数据 , 查询数据 , 更新数据和管理关系数据库系统sql
SQL语言分为3种类型 , 分别为 :数据库
1 . DDL语句 数据库定义语言(Data Definition Language) 通常为建立数据库 , 表 , 视图 , 索引 , 存储过程等ide
2 . DML语句 数据库操纵语言(Data Manipulation Language): 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3 . DCL语句 数据库控制语言(Data Control Language): 例如控制用户的访问权限GRANT(授予权限)、REVOKE(收回权限)spa
问 :mysql的库文件、表文件默认的保存路径是?分别是以什么类型的文件存储在硬盘上?3d
答 :保存路径/var/lib/mysql
库文件类型:以目录的形式存储在/var/lib/mysql目录中
表文件:以普通文件的形式存储字库的目录中blog
二 . 库的基本操做索引
数据库的库表操做大体分为增删改查四个操做 , 即插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECTip
1 . 建立数据库it
语法 : create database 数据库名 ;
命名规则 : 区分大小写 , 具备惟一性 , 不能使用 create select 等关键字来命名 , 不能单独使用数字
例 : 建立一个名为db1的数据库
2 . 查看数据库 和 使用数据库
查看数据库 : show databases;
使用数据库 : use 数据库名
elect database(); #返回当前数据库的名字
从上图能够看到 , 列出的数据库有刚建立的db1数据库 , 使用数据库能够看到提示 : Database changed 数据库发生改变
3 . 删除数据库
语法 : Drop database 数据库名;
例 : 删除建立的db1库 , 并查看db1库是否存在
三 . 表的操做
1.建立表
语法 : create table 表名(字段名称 类型(值的范围))[存储引擎 字符集];
注 : 在同一张表中 , 字段名是不能相同的 , 而且建立表必须定义字段和类型
例 : 在test库中建立名为tb1的表
desc tb1 ; #查看tb1表的结构
2 . 在表中插入数据
语法 : insert into 表名[字段名] values(须要插入的数据) //插入的数据要与表的字段相匹配
例: 在tb1表中插入3条数据
(向指定的字段插入值 --- 例 :只插入编号和名字 insert into tb1(id , name) values(8 , 'qwer'))
3 . 查看表中的数据
语法 : select [表中的字段] from 表名 where [查询条件]
例 : 查看tb1表 (* 表示查询全部)
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 , 不是这两个字母 , 插入数据时就会报错
5 . 表的删除操做
格式 : drop table [库名].表名
例 : 删除test库中的tb1这张表
删除tb1表并查看 , 能够看出tb1表已经删除 (若是再也不test数据中就要使用 drop table test.tb1 来删除 , 记得看数据库当前路径是什么)