MySQL学习笔记(二)
2.1 安装时常出现的错误
- 没有组件.dll
- 命令出错:
方式一:重新手动输入
方式二:停止mysql服务:net stop mysql
清空mysql服务:sc delete mysql
重新安装
2.2 Sqlyog的安装以及使用
- 百度搜索sqlyog
- 安装成功后打开新建输入密码(123456)点击连接
- 右击root@localhost创建数据库
- 新建一个表student
- 查看表
- 右击student–打开表-自己添加记录(新添加一条刷新一次保存)
2.3 连接数据库
命令行连接!
mysql> show database; --查看所有的数据库
mysql> use school --切换数据库
Database changed
mysql> show tables; --查看school数据库中所有的表
mysql> describe student; --查看数据库所有表里的数据
mysql> create database shm; --创建一个数据库
exit; --退出连接
单行注释:--
多行注释:/*hello*/
2.4 操作数据库
操作数据库->操作数据库中的表->操作数据库表中的数据
【注】mysql关键字不区分大小写
2.4.1 操作数据库(了解即可)
- 创建数据库
CREATE DATABASE IF NOT EXISTS shm
- 删除数据库
DROP DATABASE IF EXISTS hello
- 使用数据库
USE `school` --如果表名或者字段名是一个特殊字符,就需要带``
- 查看数据库
SHOW DATABASES --查看所有的数据库
学习技巧:
- 可以在sqlyog可视化中的历史记录中查看sql
- 固定的语法和关键字必须记住(create,drop…)
2.4.2 数据库的列类型
数值
- tinyint : 十分小的数据 (1个字节)
- smallint : 较小的数据(2个字节)
- smallint : 中等大小的数据(3个字节)
- int : 标准的整数 (4个字节)
- bigint :较大的数据(8个字节)
- float : 浮点数(4个字节)
- double : 浮点数(8个字节)
- decimal :字符串形式的浮点数(一般在金融计算的时候使用)
字符串
- char : 字符串固定大小的(0-225)
- varchar : 可变字符串(0-65535)
- tinytext : 微型文本(2^8-1)
- text : 文本串(2^16-1)
时间日期
java.util.data
- date YYY-MMM-DD 日期
- time HH;mm:ss 时间格式
- datetime YYY-MM-DD HH:mm;ss
- timestamp 时间戳 1970.1.1到现在的毫秒数!
- year 年份
null
- 未知的,没有值
- [注意]:不要使用NULL进行运算(是不要不是不能)
2.4.3 数据库的字段属性(重点)
unsigned :
- 无符号的整数
- 声明了不能为负数
zerofill :
- 用0填充不足的位数(int(3) ,5 …005)
自增 :
- 自动在上一条记录上+1(默认)
- 通常用来设计唯一的主键index,必须是整数类型
- 可以自定义设计主键自增的起始值和步长(在高级(advance)里面设置)
非空 :
- 假设设置为not null ,如果不给他赋值 ,就会报错!
- NULL ,如果不填写值,默认就是null!
默认:
- 设置默认的值
- 如果将sex的默认值为男,如果不指定该列的值,则会全部默认为男
拓展(听听就好)
/* 每一个表,都必须存在以下五个字段!未来做项目用的,表示一个记录存在意义!
id 主键
`version` 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
*/
2.4.4创建数据库(重点)
--使用英文(),表的名称和字段尽量使用``括起来
--字符串使用单引号括起来!
--所有的语句后面加,(英文的),最后一个不用加
CREATE TABLE IF NOT EXISTS `student1`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', --AUTO_INCREMENT 自增
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
`pwd` VARCHAR(30) 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`) --PRIMARY KEY 主键,一般一个表只有一个唯一的主键
)ENGINE = INNODB DEFAULT CHARSET =utf8
一般格式:
CREATE TABLE [IF NOT EXISTS] `表名`(
`字段名` 列类型 [ 属性] [索引] [注释],
`字段名` 列类型 [ 属性] [索引] [注释],
...
`字段名` 列类型 [ 属性] [索引] [注释]
)[表类型] [字符型设置] [注释]
常用命令:
SHOW CREATE DATABASE school --查看创建数据库的语句
SHOW CREATE TABLE student1 --查看student1数据表的定义语句
DESC student1 --显示表的结构