发布时间:2023-04-15 18:00
根据狂神的mysql视频手打笔记,只供参考。
关系型数据库
- Mysql,Oracle,Sql Server,DB2,SQLlite
- 通过表和表之间,行和列之间的关系进行数据的存储,学员信息表,考勤表…
非关系型数据库
- Redis,MongDB
- 非关系型数据库,数据库管理系统!
- 关系型数据库管理系统
- Oracle 公司
- 最好的RDBMQ 应用软件之一
- 体积小,速度快,成本低
- 适用于中小型网站
安装建议:尽量不要使用exe,注册表不好卸载。尽可能使用压缩包安装。
MySQL安装和配置,看这一篇就够了!-KuangStudy-江湖
安装包下载
环境变量 Path—>添加mysql的bin目录
创建my.ini配置文件
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\\学习资料\\SQL\\mysql\\mysql-5.7.19-winx64\\mysql-5.7.19-winx64\\
# 设置mysql数据库的数据的存放目录
datadir=D:\\Developer\\DB\\Database\\mysql-5.7.31\\data\\
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 允许最大连接数
max_connections=20
# 允许连接失败的次数。
max_connect_errors=10
# 严格模式
#sql_mode=\"NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES\"
# 默认使用“mysql_native_password”插件认证
#default_authentication_plugin=mysql_native_password
# 跳过密码验证,设置密码后注释掉
#skip-grant-tables
管理员打开DOM命令行
切到MySQL bin目录下
#清空服务,用于重新安装
sc delete mysql
执行命令
# 安装mysql的服务
mysqld -install
#初始化数据库文件
mysqld --initialize-insecure --user=mysql
#启动mysql
net start mysql
net stop mysql
#修改密码,不要输入密码进入
mysql -u root -p
#修改密码
alter user \'root\'@\'localhost\' identified by \'root\';
#刷新权限
flush privileges;
注释掉ini文件中跳过密码的代码
重启mysql
命令行连接!
mysql -uroot -proot --连接数据库
show databases; --查看所有数据库
mysql> use school --切换数据库 use 数据库名
Database changed
--
show tables; --查看数据库中所有的表
desc或者describe 表名 --显示数据库中所有表的信息
--
create database 数据库名
exit; --退出
--
/**/
操作数据库>操作数据库中的表>操作数据库中表的数据
mysql关键字不区分大小写
创建数据库
CREATE DATABASE IF NOT EXISTS westos
删除数据库
DROP DATABASE IF EXISTS westos
使用数据库
– tab 键的上面,如果你的表名或者字段名是一个特殊字符,就需要带‘’
USE ‘school’
查看数据库
SHOW DATABASES;
一个字节,八个二进制位,无符号数0-255
数值
字符串
时间日期
java.util.Data
null
表中必须有的字段:
id 主键
‘version’ 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
Unsigned
zerofill
自增
非空 NULL not NULL
默认
CREATE TABLE IF NOT EXISTS ’犯得上发射点‘ (
‘id’ INT(4) NOT NULL AUTO_INCREMENT COMMENT \'学号\',
‘name’ VARCHAR(30) NOT NULL DEFAULT \'匿名\' COMMENT \'姓名\',
PRIMARY KEY (‘id’)
)ENGINE=INNODB DEFAULT CHARSET=utf8 ;
常用命令:
SHOW CREATE DATABASE school; -- 查看创建数据库的语句
SHOW CREATE TABLE student;-- 查看创建表的语句
DESC student;-- 显示表的结构
-- 关于数据库引擎engine
/*
INNODB 默认使用
MYISAM 早些年使用
*/
MYISAM | INNODB | ||
---|---|---|---|
事务支持 | 不支持 | 支持 | |
数据行锁定 | 不支持 | 支持 | |
外键约束 | 不支持 | 支持 | |
全文索引 | 支持 | 不支持 | |
表空间大小 | 较小 | 较大,约为2倍myisam |
常规使用操作:
MYISAM 节约空间,速度较快
INNODB 安全性高,事务的处理,多表多用户操作
物理空间位置
所有的数据库文件都存储在data目录下
本质还是文件的存储!
MYSQL 引擎在物理上的区别
数据库字符集编码:CHARSET=utf8
修改
-- ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE student RENAME AS student1
-- ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE student ADD age INT(11)
-- 修改表的字段(重命名,修改约束!)
-- ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE student MODIFY age VARCHAR(11) -- 修改约束
-- ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
ALTER TABLE student CHANGE age age1 INT(1) -- 字段重命名
-- 删除表的字段
-- ALTER TABLE 表名 DROP 字段名
ALTER TABLE student DROP age1
删除
-- 删除表
DROP TABLE IF EXISTS student
注意点: