我们将SQL的基本操作可根据操作对象分为三类:
1.数据库操作,
2.数据表操作(含字段),
3.数据操作
(注:
1. 由于对部分操作命令有演示,所以可能代码看起来有点乱,但有些细节在代码演示里
2. 凡是语句中用 [] 括住的可有可没有)
1.数据库操作
对于数据库的基本操作无异于 增 删 改 查。下面我们逐一来介绍。
增添数据库:
顾名思义,增操作就是增加新的数据库,(可能系统问题我们会有识别中文乱码问题,我们可以通过设置字符集来解决:set names gbk;
)
`CREATE DATABASE 数据库名[库选项];`
# 不指定字符集
mysql> create database blog;
Query OK, 1 row affected (0.00 sec)
mysql> show create database blog;
+----------+-------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------------------------------------+
| blog | CREATE DATABASE `blog` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
# 指定字符集为utf16
mysql> create database blog charset utf16;
Query OK, 1 row affected (0.00 sec)
mysql> show create database blog;
+----------+---------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------------------------------------------+
| blog | CREATE DATABASE `blog` /*!40100 DEFAULT CHARACTER SET utf16 */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
数据库名:关键字或保留字库名需用 【 ` 】反引号;
库选项:用来约束数据库的选项
#字符集设定:charset/character set 具体字符集
常用的字符集格式GBK/UTF8 (字符集也就是数据存储的格式)
#校对集设定:collate 具体校对集
校对集数据比较的规则(校对集随字符集改变),在后面会专门对校对集进行讲解
此处我们要强调一点:
1.数据库在执行SQL语句之前会优化SQL,系统保存优化后的结果
2. mysql会自动寻找结束符结束语句
删除数据库:
删操作就是删除你不想要的数据库
DROP DATABASE 数据库名;
mysql> drop database blog;
Query OK, 0 rows affected (0.01 sec)
mysql> use blog;
ERROR 1049 (42000): Unknown database 'blog'
删除数据库,应该是最简单的操作命令了,但是,也是最需要慎重的命令,因为当你删除一个数据库后,数据库内部看不到对应数据库,而在对应的数据库存储文件夹内数据库名对应的文件夹也被删除(级联删除:内部数据表全部删除),最重要的是删除命令是不可逆的,这也就是我们常听到的 删库跑路。所以当我们删除一个数据库时,如果对其内部数据不了解时,应该先作备份以免误删错删。
修改数据库:
改操作就是对数据库进行修改
ALTER DATABASE 数据库名[库选项];
当然,在MySQL中对数据库的修改就是修改其库选项,也就是字符集和校对集,但需要注意的是:校对集依赖字符集,也就是说当我们修改了字符集之后,其对应的校对集也会改变,还有就是数据库名是不能被修改的。在这里我们说一哈如何查看字符集和修改字符集操作(查看服务器识别哪些字符集太多了,不做演示,可自行操作)
show character set; # 查看服务器识别哪些字符集
show create database 库名; # 查看当前库所用字符集
alter database 库名 charset 编码格式; # 修改字符集
# 将默认的字符集utf8改为gbk
mysql> show create database blog
-> ;
+----------+--------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------------------------------------------+
| blog | CREATE DATABASE `blog` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+--------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> alter database blog charset gbk;
Query OK, 1 row affected (0.00 sec)
mysql> show create database blog;
+----------+-------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------------------------------------+
| blog | CREATE DATABASE `blog` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
查看数据库:
查操作也就是查看数据库,可以查看所有的数据库,
show databases; # 查看当前所有数据库
也可以查看特定数据库
show databases like ‘%关键字’; # 匹配多个字符
show databases like ‘_关键字’; # 匹配单个字符(库名含_可在_前加`反引号)
今天先讲解关于数据库的一些基本操作,下一篇讲解关于数据表的基本操作。