数据库的分类
创建库
语法
create database [if not exist] 数据库名 [character set=] [collate ];
注:(1)[] 是可选项
(2)CHARACTER SET: 指定数据库采用的字符集,一般使用的字符集为 utf8 和 gbk.
(3)COLLATE:指定数据库字符集的比较方式(默认utf8_ general_ ci,一般不指定)另一种为utf8_bin.
(4) 查看系统默认字符集以及校验规则的命令为:
示例:
(1)创建默认数据库
在这种情况下:若不指定字符集和校验规则,则使用系统默认的。
(2)创建使用字符集为utf8的数据库
(3)创建使用字符集为utf8和校验规则
字符集和校验规则
(1)字符集主要是控制用什么语言,比如utf8就可以装中文。
(2)校验规则:
utf8_general_ci 不区分大小写;按照字母顺序排列即可。
utf8_bin区分大小写;并按照字母的ASCII值排序。
操纵数据库
1. 查看数据库
语法:show database;
2.显示数据库创建语句
语法:show create database 数据库名;
3. 数据库删除
语法:drop database [if EXIST] 数据库名;
注:当执行这句话后:(1). 数据库内部看不到对应的数据库
(2). 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
4. 查看当前数据库的连接情况
语法:show processlist;
注:可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数 据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来看看数据库连接情况。
5. 数据库的备份和恢复
数据库的备份:
(1)备份一个数据库:在命令行模式下,输入mysqldump -u root -p 数据库名 > 数据库存放路径
(2)备份数据库中的一张表:在命令行模式下,输入mysqldump -u root -p 数据库名 表名1 表名2 >数据库表存放路径
数据库的恢复:(1)要恢复数据库,必须新建一个空数据库,最好和以前的数据库名字一致。
注:在使用source 恢复数据时,保证use对应的数据库
同时备份多个数据库 [root@localhost Desktop]# mysqldump -u root -p密码 -B 数据库名1 数据库名2 ... > 数据库存放路径 ,如果加上-B选项,就不需要创建空数据库。
同时恢复多个数据库 mysql > source 备份的文件
如过我们备份一个数据库时,也带上-B参数,在恢复数据库时,不需要再创建空数据库。
修改库
语法:alter database [if exist] 数据库名 [charset=] [collate ];
示例:
创建表
语法
CREATE TABLE table_name ( field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
注:field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
存储引擎一般为MyISAM和InnoDB.
创建一张表students,利用desc查看表结构
注:(1)不同的存储引擎,创建表的文件不一样
在我们指定的引擎为MyISAM时,对应有三个文件,students.frm(表结构)、students.MYD (表数据)、students.MYI(表索引);而InnoDB只有一个文件,即students.frm(表结构)。
(2)在利用desc查看表结构后,Field表示字段名字,Type表示字段类型,NULL表示字段是否允许为空,Key表示主键,Default表示默认值,Extra表示扩充。
修改表
在修改表时我们常用的关键字为alter。
一般修改表包括:字段名字,字段大小,字段类型,表的字符集类型,表的存储引 擎等等。另外还包括:添加字段,删除字段等等
1. 在表中添加字段
语法:alter table 表名 add 字段名 字段类型
示例:
2. 修改表中某一字段的属性
语法:alter table 表名 modify 字段名
示例:
(1)修改name 的类型长度
(2)修改 sex的类型
3. 删除某一字段
语法:alter table 表名 drop 字段名
示例:
4. 修改表名
语法: alter table 表名 rename to 新表名
示例:
5. 修改字符集
语法:alter table 表名 charset=字符集
示例:
6. 修改某一字段的名字
语法:alter table 表名 change 字段名 新字段名 新字段类型;
示例:
注:新字段类型必须要有。
删除表
在删除表之前,我们先查看数据库中有哪些表:
删除表我们用语句:drop table 表名1 表名2……;