Day15
Sqlyog的使用
- 创建数据库
- 输入数据名称,并选择合适的字符类型。
- 在历史记录中可以看到所创建表用的SQL语句。
- 创建表
- 对表命名和设置变量,然后保存。
6.历史记录中的创表语句。
CREATE TABLE `school`.`student`( `id` INT(10) NOT NULL COMMENT '学员id', `name` VARCHAR(100) NOT NULL COMMENT '学员姓名', `age` INT(3) NOT NULL COMMENT '学员年龄', PRIMARY KEY (`id`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci;
7.查看表
8.写入多条记录
基本命令行操作
- 连接数据库
mysql -uroot -p123456 --连接数据库
- 修改密码
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';--修改密码
- 查看所有数据库
show databases;
--所有语句都是以分号结尾
- 使用数据库
use school--切换数据库 use+数据库名
Database changed
- 查看数据库中所有的表
show tables;
- 显示数据库中所有表的信息
describe student;
- 创建一个数据库
create database westos; --create database+数据库名
- SQL的注释
-- (单行注释)
/*
1
2
3
*/ (多行注释)
- 退出
exit
数据库语言
CRUD:增删改查
DDL: 数据库定义语言
DML:数据库操作语言
DQL:数据库查询语言
DCL:数据库控制语言
操作数据库
操作数据库》操作数据库中的表》操作数据库中表的数据
mysql关键字不区分大小写
- 创建数据库
DELETE DATABASE [IF NOT EXISTS]gonghaoyue
如果不存在,那么创建这个数据库。
IF NOT EXISTS判断这个数据库是否存在
- 删除数据库
DROP DATABASE [IF EXISTS]gonghaoyue
如果存在,那么删除这个数据库。
IF EXISTS判断是否存在
- 使用数据库
USE `school`
tab上面的点,如果你的表名或者字段名是一个特殊字符,就需要带``。
- 查看数据库中所有的表
SHOW DATABASES
数据库的列类型
数值
- tinyint 十分小的数据 1个字节
- smallint 较小的数据 2个字节
- mediumint 中等大小的数据 3个字节
- int 标准的整数 4个字节(常用)
- bigint 较大的数据 8个字节
- float 浮点数 4个字节
- double 浮点数 8个字节(精度问题)
- decimal 字符串形式的浮点数 金融计算的时候一般用decimal
字符串
- char 字符串 0-255
- varchar 可变字符串 0-65535(常用,对应java中的string)
- tinytext 微型文本 2^8-1
- text 文本串 2^16-1 (保存大文本)
时间和日期
对应的java的类:
java.util.Data
- data YYYY-MM-DD 日期
- time HH:mm:ss 时间格式
- datatime YYYY-MM-DD HH:mm:ss(最常用的时间格式)
- timestamp 时间戳 1970.1.1到现在的毫秒数
- year 年份表示
null
- 没有值,未知
- 注意,不要使用NULL进行运算,结果额为NULL
*数据库的字段属性
Unsigned:
- 无符号的整数
- 声明了该列不能声明为负数
Zerofill:
- 0填充的
- 不足的位数,使用0来填充,int(3) int类型的3个长度,如果输入的是5,结果就是005
自增:
- 通常理解为自增,自动在上一条记录的基础上+1(默认)
- 通常用来设计唯一的主键 index,必须是整数类型。
- 可以自定义设计主键自增的起始值和步长(每次增长多少)
非空(NULL和not null):
- 如果选择这个,那么不给它赋值就会报错(not null)
- 如果不选择这个,默认就是null,就可以为空。
默认:
- 设置默认的值!
- 如果不明确指定,则会有默认的值
每个表都必须存在以下五个字段
(做项目的时候使用,表示一个记录存在的意义)
/*id 主键
`version`乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_updata 修改时间
*/