出现mysqld: Can\'t create directory \'D:\\Environment\\mysql-5.7.37 \\data\' (Errcode: 2 - No such file or directory)极大原因是my.ini的配置有问题
my.ini配置
[mysqld]
basedir=D:\\Environment\\mysql-5.7.37\\ --MySQL下载地址
datadir=D:\\Environment\\mysql-5.7.37\\data\\ --mysql文件位置不用新建
port=3306
skip-grant-tables
net start mysql--连接数据库
mysql –u root –p --修改密码
update mysql.user set authentication_string=password(\'123456\') where user=\'root\' and Host = \'localhost\'; --更新账号密码
flush privileges; --刷新权限
net stop mysql --断开数据库
mysql –u root –p123456 --输入密码
1、MySQL使用步骤
- 启动管理员模式,运行命令
- 安装mysql服务
- 初始化数据库文件
- 启动mysql,进入修改密码
- 进入mysql通过命令行(-p后不加空格),修改密码(sql语句后面要加;分号)
- 注释ini中跳过密码的语句
- 重启mysql
sc delete mysql --清空服务;一般不使用
SQLyog基础设置
-
查看表
-
自行添加记录
1.7连接数据库
mysql -uroot -p123456 --连接数据库
updata mysql.user set authentication_string=password(\'123456\') where user=\'root\' and Host = \'localhost\'; --修改密码
flush privileges; --刷新权限
-------------------------------------
--所有语句都是用;结尾
show databases;--查看所有数据库
mysql>use school--切换数据库user是数据库名称
Database changed
show tables;--查看数据库中所有的表
describe student;--显示数据库中的所有信息
create database westos;--创建一个数据库
exit;--退出连接
--单行注释(sql本来的注释)
/*
xs
ssssssssss
*/
数据库xxx语言 CRUD增删改查 CV程序员 API CRUD(业务)
DDL 定义
DML 操作
DQL 查询
DCL 控制
2、操作数据库
操作数据库->操作数据库中的表->操作数据库中表的数据
MySQL关键字不区分大小写
2.1操作数据库
-
创建数据库 []表示可写可不写
CREATE DATABASE [IF NOT EXISTS] westos
-
删除数据库
DROP DATABASE [IF EXISTS] westos
-
使用数据库
--tab键上面,如果你的表名或字段名是个特殊字段就要带 USE `school`
-
查看数据库
SHOW DATABASES --查看所有的数据库
对比:SQLyog的可视化操作
学习思路:
- 对照sqlyog可视化历史记录查看sql
- 固定关键字要强行记住:create drop show
2.2、数据库的数据类型
数值
-
tinyint 十分小 的整数 1字节
-
smallint 较小的整数 2 字节
-
mediumint 中等大小的整数 3字节
-
int 标准类型的整数 4字节 常用的
-
bigint 较大整数 8字节
-
float 浮点数 4字节
-
double 浮点数 8字节(精度问题)
-
decimal 字符串形式浮点 金融计算decimal
字符串
- char 字符串固定大小 0-255
- varchar 可变字符串 0-6535 string
- tinytext 微型文本 2^8-1
- text 文本串 2^16-1 保存较大文本
时间日期
java.util.Date
- date YYY-MM-DD 日期格式
- time HH:mm:ss 时间格式
- datetime YYY-MM-DD HH:mm:ss 最常用的时间格式
- timestamp 时间戳,1970.1.1到现在的毫秒,也较为常用
- year 年份的表示
null
- 没有值,未知
- 注意:主要使用NULL进行运算,结果为NULL
2.3、数据库的字段属性(重点)
Unsigned
- 无符号的整数
- 声明该列不能为负数
zerofill
- 0填充的
- 不足的位数使用0填充
自增
- 通常为自增,自动在上一条记录+1(默认)
- 通常用来设计唯一的主键~ index,必须是整数类型
- 可以自定义设计自增的起始值和步长
非空 NULL not null
- 假设设置为not null,如果不赋值会报错
- NULL,不填写,默认是null
默认
- 如果不设置,为默认值
- sex默认值为男,如果不指定,则会有默认值
拓展: 每个表都必须存在一下五个字段,表示一个记录存在的意义
id --主键
`version` --乐观锁
is_delete --伪删除
gmt_create --创建时间
gmt_update --修改时间
2.4、创建数据库(重点)
--创建school数据库
--创建学生表
--学号int 密码varchar(20) 姓名,性别varchar(2)出生日期(datatime),家庭住址,email
--注意点,使用英文(),表的名称和字段尽量用``括起来
--AUTO_INCREMENT自增
--字符使用用 \'\'单引号括起来
--所有语句后面都加,英文的,最后一个语句不用加
--PRIMARY KEY 主键,一个表一般只有唯一主键!
CREATE TABLE IF NOT EXISTS `students` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT \'学号\',
`name` VARCHAR(30) NOT NULL DEFAULT \'匿名\' COMMENT \'姓名\',
`pwd` VARCHAR(20) NOT NULL DEFAULT \'123456\' COMMENT \'密码\',
`sex` VARCHAR(2) NOT NULL DEFAULT \'女\' COMMENT \'性别\',
`birthday` DATETIME DEFAULT NULL COMMENT \'出生日期\',
`address` VARCHAR(100) DEFAULT NULL COMMENT \'家庭住址\',
`email` VARCHAR(50) DEFAULT NULL COMMENT \'邮箱\',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
CREATE TABLE [IF NOT EXISTS] `表名`(
\'字段名\' 列类型 [属性] [索引] [注释],
\'字段名\' 列类型 [属性] [索引] [注释],
.....
\'字段名\' 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]
来源:https://www.cnblogs.com/Icy01/p/16296110.html
本站部分图文来源于网络,如有侵权请联系删除。