欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Day09 MySQL基础02

程序员文章站 2022-04-28 19:17:47
...

Day09 MySQL基础02

1.6安装SQLyog

  • 安装
  • 登录(mysql -u root -p 123456)
  • 创建数据库(utf8 utf8 general_ci)

创建表

  • 选择对应的文件夹
  • 展开
  • 打开表文件夹
  • 新建表
  • 引擎选择innoDB

查看表

  • 选中并打开表
  • 添加数据

1.7连接数据库

  • 命令行连接
mysql -u root -p123456  --连接数据库

update mysql.user set authentication_string=password('123546') where user='root' and Host = 'localHost'-- 修改用户密码
flush privileges;  -- 刷新权限
----------------------------------------
show databases ;  -- 查看所有的数据库
use school    -- 切换数据库    use+数据库名
show tables;   -- 查看数据库中所有的表
describe student;  -- 查看数据库中所有的表的信息
create detabase class;  -- 创建一个数据库 
----------------------------------------
exit; -- 退出连接
-- 单行注释(SQL本来的注释)
/*
多行注释
*/

数据库xx语言 CRUD增删改查 CV程序员 API程序员(调用API) CRUD程序员(业务)

DDL 定义

DML 操作管理

DQL 查询

DCL 控制


2.操作数据库

操作数据库>操作数据控中的表>操作数据库中表的数据

MySQL不区分大小写!


2.1操作数据库

  1. 创建数据库
CREATE DATABASE IF NOT EXISTS class  -- 其中 NOT EXISTS可选    如果不存在就创建
  1. 删除数据库
DROP DATABASE IF EXISTS hello -- 其中IF EXISTS可选     如果存在就删除
  1. 使用数据库

如果你的表名或者字段是一个特殊字符,就需要带 `

USE `school`

SELECT `age` FROM student  -- 前提得选中student文件夹

学习思路:

  • 不会的对照SQLyog可视化历史记录查看SQL

  • 固定的语法或关键字必须要强行记住


2.2数据库的列(数据)类型

数值

  • tinyint 十分小的数据 只占了1个字节
  • smallint 较小的数据 2个字节
  • mediumint 中等大小的数据 3个字节
  • **int 标准的整数 4个字节 ** 常用类型
  • bigint 较大的数据 8个字节(对应Java的long)
  • float 单精度 浮点数 4个字节
  • double 浮点数 8个字节
  • decimal 字符串形式的浮点数 金融计算的时候,一般都用decimal

字符串

  • char 字符串 固定大小的 0-255
  • **varchar 可变字符串 0-65535 **对应string
  • tinytext 微型文本 2^8-1
  • text 文本串 2^16-1 保存大文本

时间日期

java.util.data

  • date XXXX-XX-XX 日期格式
  • time HH:MM:SS 时间格式
  • datetimr XXXX-XX-XX HH:MM:SS 最常用的时间格式
  • timestamp 时间戳 2002年1.1到现在的毫秒数
  • year 年份表示

null

  • 没有值,未知
  • 注意,不要使用NULL进行运算,进行运算了结果也是NULL

2.3数据库的字段属性(重点)

unsigned:

  • 无符号的整数

  • 不能声明为负数

zerofill:

  • 0填充的
  • 不足的位数,使用0来填充 ,int(3),5 ----005

自增:

  • 通常理解为自增,自动在上一条记录的基础上 +1(默认)
  • 通常用来设计唯一的主键 index,必须是整数类型
  • 可以自定义设计主键的起始值和步长

非空:

  • null not null
  • 假设设置为not null ,若果不给他赋值,就会报错
  • (不勾选非空)NULL,如果不填写值,就是NULL

默认:

  • default
  • 设置默认的值!
  • sex,默认值为男,如果不指定该列的值,则会有默认的值‘’

/* 每一个表,都必须存在以下5个字段!未来做项目用的,表示一个记录存在的意义

id 主键

version 乐观锁

is_delete 伪删除

gmt_create 创建时间

gmt_ipdate 修改时间

*/


2.4创建数据库表

-- 注意使用英文括号,表的名称和字段尽量使用``括起来
-- AUTO_INCREMENT  自增
-- 字符串使用单引号括起来
-- 所有的语句后面加,(英文的),左后一个不用加
-- PRIMARY KEY 为主键,一般一个表只有一个
CREATE TABLE `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL  DEFAULT '匿名' COMMENT '姓名',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

格式

CREATE TABLE[IF NOT EXISTS] `表名`(
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
    ......
)[表类型][表的字符集设置][注释]