MySQL数据库
一.先了解数据库中的几类语言
DDL(data definition language):数据定义语言
create 创建
drop 删除
alter 修改
DML(data manipulation language):数据操纵语言
insert 插入
delete 删除
update 更新
DQL(data query language):数据查询语言
select
DCL(data control language):数据控制语言
grant
revoke
commit
二.数据库的基本操作
数据库的创建:
命令的基本形式:
A {B | C} [D] ...
注意:
1.没有用{}包的就是正常的必有的
2.{}内的就是必须要有的参数选项,
通常其中用‘|’来表示多个选项有且仅有一个。
3.[]内的就是可有可无的参数选项
4.语句以分号结尾;
一.创建与删除:
MariaDB下:
1.创建数据库
create database [if not exists]数据库名 [采用的字符集] [采用的字符集校验规则];
表示不存在就创建该数据库,并且指定了字符集以及字符集校验规则;
后两者不写代表使用默认值
这里的字符集 charset = utf8;
字符集校验规则 collation = utf8_general_ci; -- 不区分大小写
collation = utf8_bin; -- 区分大小写
2.删除数据库
drop database [if exists]数据库名;
3.数据库的备份与恢复:
备份:mysqldump -uroot -p -B 生成的文件名 > 重定向的路径;
恢复:source 文件路径;
注意:
备份是在系统命令行下
恢复是在MariaDB下
二.操纵数据库
1.查看数据库
show databases; --显示出所有已经创建的数据库
show create database 数据库名; --会显示出创建语句
2.修改数据库
alter database 数据库名 需要修改的参数信息;
其实修改的无非也就是字符集或其校验规则;
如果还要在修改其他的就说明创建数据库时有太多不合理的存在(如变量类型等),
此时可能需要做的就不是修改数据库了,而是重新创建数据库。
3.查看数据库连接
show processlist;
查看连接到该数据库的用户情况。
三.数据库表的操作
数据库表的操作:
一.创建与删除:
1.创建表:
create table [if not exists]表名(
字段1名称 类型 [约束类型],
...(最后一个语句后不加 ‘,’)
) character set 字符集 collate 校验规则 engine 存储引擎;
字符集、校验规则、存储引擎这几个参数不给会用默认值
2.删除表:
drop table [if exists]表名;
二.操纵表
1.插入数据
insert into 表名(列名) values(各字段的值);
注意:如果是整行插入则无需再写入列名。
2.查看表信息
show tables; --显示在该数据库下的所有数据表
show create 表名; -- 查看创建该表的语句
desc 表名; --查看具体的表信息
四.几种约束
几种约束:
1.null/not null约束:
表示该字段是否可以为空。
2.unique约束:
表示该字段的信息不能重复
3.primary key:
表示该字段可以决定该表的唯一确定的一行数据,并且该约束也会要求该字段非空
4.foreign key:
该字段是用来建立该表与其他表之间的联系的
定义方式:
先创建主表
foreign key 从表中的列信息 references 主表表名(主表列名)
5.zerofill:
自动补0。假定某字段被定义成10位数,则其余位数不够的自动在前面补0
6.auto_increment:
自增长约束,表示插入数据的时候该列可以不用给值,直接按照类型进行++操作;
该约束可以加在任意列上,但通常加在主键上。
7.default:
默认值:为某字段设置默认值。
注意:以上约束除了foreign key,其余都可以直接在创建表时直接在列后面加上某约束