- 安装MySQL
MySQL 8.0安装包下载,提取码:2xyv
Windows下安装MySQL
CentOS 7 通过 yum 安装 MariaDB
远程终端工具Xshell安装包下载,提取码:eczh
以下操作均在Linux上!!! - 连接服务器
输入:mysql -h 127.0.0.1 -p 3306 -u root -p
注意:如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号
-p 后要输入密码,如果没有 -p 表示直接登录
输出: - 库操作
3.1 创建数据库
语法: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:指定数据库字符集的校验规则
3.2 创建数据库案例
创建名为 db1 的数据库:
创建一个使用 utf8 字符集的 db2 数据库:
创建一个使用 utf8 字符集,并带校对规则的 db3 数据库:
3.3 查看数据库
语法:SHOW DATABASES;
3.4 显示建库语句
语法:SHOW CREATE DATABASE db_name;
说明:
MySQL 建议我们关键字使用大写,但是不是必须的
数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
/* !40100 DEFAULT CHARACTER SET utf8 */ 这个不是注释,表示当前 MySQL 版本大于4.01版本,就执行这句话
3.5 修改数据库
说明:对数据库的修改主要指的是修改数据库的字符集,校验规则
语法:ALTER DATABASE db_name
[alter_spacification [,alter_spacification]…]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
修改数据库实例:将 db3 数据库的字符集改成 gbk:
3.6 删除数据库
语法:DROP DATABASE [ IF EXITS ] db_name;
说明:执行删除之后的结果:
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
此过程不可逆,需谨慎操作!!!
3.7 数据库的备份与恢复
备份和恢复都是在 bash 下执行,不是在 MySQL 下执行!!!
输入 quit 或者 exit 即可退出 MySQL shell!
① 备份:
语法:mysql dump [-p3306] -u root [-p 密码] -B 库名 > 备份存储的文件路径
实例:将 db2 库备份到文件
此时在用户的home目录下多了一个名为 db2.sql 的文件,同时也可以cat它的内容,其实把我们整个创建数据库,建表,导入数据的语句都会装载到这个文件中
② 恢复(还原):
此过程需要先在MySQL shell下新建好一个数据库!!!
语法:mysql -u root [-p 密码] 库名 < 之前备份到的文件名
问题:如果备份的不是整个数据库而是其中的某几张表,应该怎么做?
mysqldump -u root [-p 密码] 库名 表名1 表名2 > 备份存储的文件路径
(如果备份一个数据库时,没有带上-B参数,备份表不需要) - 表操作
4.1 创建表
(创建表之前先要使用数据库)
语法:USE db_name;(注意没有关键字DATABASE!!!)
建表语法:CREATE TABLE table_name (field1 datatype, field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
field:列名
datatype:列的类型
character set:字符集,如果没有指定字符集,则以所在库的字符集为准
collate:校验规则,如果没有指定校验规则,则以所在库的校验规则为准
4.2 创建表案例
说明:
不同的存储引擎,创建表的文件不一样
users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
users.frm:表结构
users.MYD:表数据
users.MYI:表索引
4.3 查看建表语句
4.3 查看表结构
(表结构和建表语句是不一样的!)
语法:DESC table_name;
4.4 修改表结构(针对的是属性列)
修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎,添加字段,删除字段等等
① 在users表添加一个字段,用于保存图片路径
语法:ALTER TABLE table_name ADD (column datatype [DEFAULT expr][,column datatype]…);
② 删除password列
语法:ALTER TABLE table_name DROP (column);
注意:删除字段一定要小心,删除字段及其对应的列数据都没了
③ 修改name,将其长度改成60
语法:ALTER TABLE table_name MODIFY (column datatype [DEFAULT expr][,column datatype]…);
④ 修改表名为employee
语法:ALTER TABLE table_name RENAME [TO] 新名称;或者RENAME TABLE table_name [TO] 新名称;
⑤ 将name列修改为xingming(新字段需要完整定义)
语法:ALTER TABLE table_name CHANGE 旧字段名 新字段名 类型;
MODIFY主要是用来更换字段的数据类型,而CHANGE是用来更改原字段名称(及字段类型)的
4.5 删除表
语法:DROP TABLE [IF EXISTS] tbl_name [, tb2_name] …
删除employee表
总结:上述都是数据定义语言(DDL):CREATE,DROP,ALTER
关于数据库:创建数据库,删除数据库,修改数据库(字符集、校验规则)
关于数据表:创建数据表,删除数据表(DROP是全删,连表带数据全删),修改数据表结构(添加或删除字段、字段名乘,字段大小,字段类型,修改表的字符集及存储引擎等)
MySQL之DDL(数据定义语言)
最新推荐文章于 2024-07-11 10:04:17 发布