1. 使用Windows dos 登录mysql命令:
Mysql -u 用户名-p密码
(-p与密码之间没有空格,使用该命令之前要把mysql的bin路径添加到环境变量path)
2. 创建数据库create database 数据库名
3. 查看创建数据库的指令show create database 数据库名
4. 显示数据库:show databases;
5. 删除数据库:drop database 数据库名
6. 指定使用某个数据库:use 数据库名
7. 备份数据库的数据:mysqldump -u 用户名-p密码 数据库名>存放路径 (该指令需要在dos控制台执行)
8. 恢复数据库:
(1)创建一个数据库
(2)use数据库
(3)Source路径/文件命名.sql(在mysql控制台执行)
9. mysql自带的client默认支持utf-8,所以在添加中文时需要设置:
show variables like ‘char%’; //显示关于字符的设置参数
set character_set_client=gbk; //可以存中文
set character_set_result=gbk; //可以看中文
MySQL数据类型:
1. 数值类型
(1) bit(m) m默认为1最大为64,如果m被省略默认为1
(2) Tinyint [unsigned] 一个字节,默认为有符号-128~127;tinyint unsigned为无符号0~255
(3) Smallint [unsigned] 两个字节,有符号负的2的16次到2的16次-1,无符号范围0~2的16次-1
(4) int
(5) bigint
(6) Float[(M,D)] [unsigned],4个字节m表示有效位,d表示小数位数
(7) Double,8个字节
(8) Decimal(m,d) numeric(m,d),变长,用于表示小数或整数
Create table test1 (nem numeric); //整数
Create table test1 (nem numeric(5,2)); //两位小数
2. 文本类型或二进制
(1) Char(m) 定长,m个字节0<=m<=255
(2) Varchar
(3) Blob,text
(4) binary(M)M个字节,0<=M<=255
3. 日期类型
(1) date 日期型(年-月-日),只保存年月日
(2) datetime 日期时间类型
(3) timestamp 邮戳类型,该类型可以保存年-月-日:时:分:秒,和datetime的区别是当update某条数据发时候会自动更新
修改表的结构:
1. 添加新的列:alter table 表名add列明 数据类型
2. 修改列(类型、大小)alter table 表名modify列名 数据类型
3. 修改列名:alter table 表名change column列名 新列名 数据类型
4. 删除某lie:alter table表名drop列名
5. 修改表名: rename table 原表名to新表名
6. 修改表字符集:alter table 表名character set字符集名称
1. mysql控制台默认自动提交事务
2. 如果在控制台使用事务要先set autocommit=false; savepoint 保存点; //.... rollback to保存点;
函数:
1. select current_date() from dual; //返回当前日期
2. select current_time() from dual; //返回当前时间
3. 查询两小时内的数据,select * from message where date_add(publishdate, interval 2 hours)>=now();
date_add(日期/date/datetime/timestamp, interval数type);
表的约束:
1. 外键:constrain 名foreign key(从表的列)references主表名(主表的列);
mysql的外键要用表级定义
2. 分页
select * from 表名where条件[group by .....having.....order by ...] limit (pageNow-1)*pageSize, pageSize;