目录
一. 什么是数据库
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
1.文件的安全性问题
2.文件不利于数据查询和管理
3.文件不利于存储海量数据
4.文件在程序中控制不方便
为了解决上述问题,专家们设计出更加利于管理数据的东西一一 数据库,它能更有效的管理数据。
1.1 连接服务器
输入:
mysql -h 127.0.0.1 -P 3306 -u root -p
1.2 SQL分类
一.DDL【datadefinition1anguage】数据定义语言,用来维护存储数据的结构
代表指令:create,drop,alter
二. DML【datamanipulationlanguage】数据操纵语言,用来对数据进行操作代表指令:insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令:select
三. DCL【DataControlLanguage】数据控制语言,主要负责权限管理和事务
代表指令:grant,revoke,commit
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
1.2.1查看存储引擎
输入
show engines;

二. 库的操作(DDL)
2.1创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification]....]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT]COLLATEcollation_name大写的表示关键字
[]是可选项
CHARACTERSET:指定数据库采用的字符集
COLLATE:指定数据库字符集的校验规则
例子:
//案例一. 创建一个使用utf字符集,并带校对规则的db3数据库。
create database db3 charset=utf8 collate utf8_general_ci;
//案例二. 创建一个数据库,校验规则使用utf8_generalci[不区分大小写]
create database testl collate utf8_general_ci;
2.2操纵数据库
//查看数据库
show databases;
//显示创建语句
show create database 数据库名;
2.3修改数据库
语法:
ALTER DATABASE db_name
[alter_spacification[,alter_spacification]...]
alter_spacification:
[DEFAULT]CHARACTERSET charset_name
[DEFAULT] COLLATEcollation_name
例子:
//将mytest数据库字符集改成gbk
mysql> alter database mytest charset=gbk;
2.4 删除数据库
//数据库删除
DROP DATABASE [IF EXISTS] db_name;
三. 备份和恢复
备份语法:
# mysqldump -P 3306- u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
还原语法:
mysql > source D:/mysql-5.7.22/mytest.sql;
如果备份的不是整个数据库,而是其中的一张表,怎么做?
#mysqldump -u root -p 数据库名表名1 表名2 > D:/mytest.sql
同时备份多个数据库
# mysqldump -u root -p -B 数据库名1 数据库名2... > 数据库存放路径
四.表的操作(DML)
4.1创建表
语法:
CREATE TABLE table_name(
field1 datatype,
field2 datatype,
field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;说明:
field表示列名
datatype表示列的类型
characterset字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
例子:
create table users(
id int,
name varchar(20) comment'用户名',
password char(32) comment'密码'
birthday date comment '生日'
) character set utf8 engine MyISAM;
不同的存储引擎,创建表的文件不一样。
users表 存储引擎是MyISAM,在数据目中有三个不同的文件,分别是:
users.frm:表结构
users.MYD:表数据
users.MYl:表索引

4.2 查看表结构
例子:
desc 表名;

4.3修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型表的存储引擎等等。这时我们就需要修改表。
ALTER TABLE tablename ADD (column datatype [DEFAULTexpr] [,column datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr] [,column datatype]...);
ALTER TABLE tablename DROP (column);
例子:
//在users表添加一个字段,用于保存图片路径
mysql> alter table users add assets varchar(100) comment '图片路径' after birthday;
//修改name,将其长度改成60
mysql> alter table users modify name varchar(60);
//修改表名为employee
mysql> alter table users rename to employee;
4.4删除表
语法格式:
DROP [TEMPORARY] TABLE [IFEXISTS] tbl_name [, tbl_name] .
示例:
drop table tl;
五. 数据类型

5.2 数值类型

浙公网安备 33010602011771号