目录
库操作
—库的查看
-查看数据库
show databases;(注意要加s)
-显示创建语句
show create database 数据库名;
show create database 数据库名;
示例:
mysql> show create database mytest;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| mysql | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
说明:
MySQL 建议我们关键字使用大写,但是不是必须的。
数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
/*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
-查看数据库的连接情况
show processlist;
—库的创建
create database 库名;
下面可以看到新增了一个名叫test的数据库
语法
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则
—库的修改
MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的
所以这里是修改库的字符集 ,校验规则
语法:
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
对数据库的修改主要指的是修改数据库的字符集,校验规则
—库的删除
drop database 库名;
DROP DATABASE [IF EXISTS] db_ name;
执行删除之后的结果:
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
注意:不要随意删除数据库
——数据库的备份和恢复
-备份
语法:
# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
-还原
mysql> source 文件路径
字符集和校验规则
-查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
编码集:
这里我显示的编码集默认为utf8
校验集:
-查看数据库目前所支持的所有字符集
-查看数据路所支持的字符集校验规则
-校验规则对数据库的影响
以i相同的字符集分别创建两个不同检验集的数据库
d1,d2
其中 utf8_ general_ ci[不区分大小写]
校验规则使用utf8_ bin[区分大小写]
对两个库创建相同的表插入相同的数据aAbB
查询d1
查询d2
给d1排序
给d2排序
以上可以得出结论:校验规则对数据库是有影响的
表操作
—表的创建
-语法:
create table 表名(表列名 数据类型 (comment '表列的描述‘));--()最里面的括号表示这里的内容可以有可以没有
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
例:
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
说明:
不同的存储引擎,创建表的文件不一样。
users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
users.frm:表结构
users.MYD:表数据
users.MYI:表索引
—表的查询
-查看表结构
-语法:desc 表名;
-查看库中有哪些表:
show tables;
—表的修改
-增加表列:
alter table 表名 add 列名 数据类型 (comment '数据描述’); 不加after默认添加在最后一列后面,加after能指定添加到哪一个表列的后面
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
-修改表列属性:
alter table 表名 modify 表列名 数据属性;
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
-修改表名:
alter table 表名 rename to 新表名;
-修改表列名:
alter table 表名 change 表列名 新表列名 数据类型;
-删除表列
alter table 表名 drop 表列名;
-插入数据
insert into 表名 values(数据);
-查询表中数据信息
select * from 表名;
—表的删除
drop table 表名;
表中的数据删除
delete from 表名 where