image-20220512151237635

出现mysqld: Can't create directory 'D:Environmentmysql-5.7.37 data' (Errcode: 2 - No such file or directory)极大原因是my.ini的配置有问题

my.ini配置

[mysqld]
basedir=D:Environmentmysql-5.7.37 --MySQL下载地址
datadir=D:Environmentmysql-5.7.37data --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使用步骤

  1. 启动管理员模式,运行命令
  2. 安装mysql服务
  3. 初始化数据库文件
  4. 启动mysql,进入修改密码
  5. 进入mysql通过命令行(-p后不加空格),修改密码(sql语句后面要加;分号)
  6. 注释ini中跳过密码的语句
  7. 重启mysql
sc delete mysql  --清空服务;一般不使用

SQLyog基础设置

image-20220512173457575image-20220512235851266
  1. 查看表

  2. 自行添加记录

    1.7连接数据库

    image-20220513160247135

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操作数据库

  1. 创建数据库 []表示可写可不写

    CREATE DATABASE [IF NOT EXISTS] westos
    
  2. 删除数据库

    DROP DATABASE [IF EXISTS] westos
    
  3. 使用数据库

    --tab键上面,如果你的表名或字段名是个特殊字段就要带
    USE `school`
    
  4. 查看数据库

    SHOW DATABASES --查看所有的数据库
    

    对比:SQLyog的可视化操作

    image-20220513184012395image-20220513183551109

学习思路:

  • 对照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

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!