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操作数据库
- 创建数据库
CREATE DATABASE IF NOT EXISTS class -- 其中 NOT EXISTS可选 如果不存在就创建
- 删除数据库
DROP DATABASE IF EXISTS hello -- 其中IF EXISTS可选 如果存在就删除
- 使用数据库
如果你的表名或者字段是一个特殊字符,就需要带 `
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] `表名`(
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
......
)[表类型][表的字符集设置][注释]