-- 使用命令行链接数据库,注意这里无分号
mysql -uroot -p
-- 显示所有数据库
show databases;
--切换数据库:use + 数据库名称
use school;
-- 查看数据中所有表的信息:describe + 表名称
describe student;
-- 创建一个数据库:creat database + 数据库名称
creat database school;
-- 创建一个数据库,如果还没有过这个数据库的话
creat database if not exists school;
-- 删除数据库
drop database school;
--删除数据库,如果存在这个数据库的话
drop database if exists school;
int | 标准整数 | 4个字节 |
varchar | 可变字符串 | 0~65535 |
text | 文本串 | 2^16 - 1 |
datetime | YYYY-MM-DD HH:mm:ss | |
timestamp | 时间戳 | 1970.1.1到现在的毫秒数 |
、
数据库的字段属性
Unsigned:无符号整型,不能声明为负数。
Zerofill:不足的位数使用0填充。例如,设置 int 型 3 位数字时,输入6的显示的效果是006。
自增:自动在上一条的基础上+1,通常用来设计唯一的主键下标,数据类型是 int。
非空:当设置为非空的时候,就必须对该处赋值。
默认:设置默认值,当不赋值的时候就使用默认值。
每一个表都需要存在以下五个字段。
- id:主键
- version:乐观锁
- is_delete:伪删除
- gmt_create:创建时间
- gmt_update:修改时间
连结到Mysql服务(Mysql数据库)的指令(命令行窗口)
mysql -h 主机ip -P 端口 -u 用户名 -p 密码
- -p密码不要有空格
- -p后面如果不输入密码,回车之后会提示要求输入密码。
- 如果没有写-h主机,默认就是本机
- 如果没有写-P端口,默认3306
- 在实际工作中,默认端口3306一般要修改。
数据库的三个层次
创建数据库
-- 创建数据库,使用utf8字符集
create database school character set utf8;
--创建一个数据库,使用utf8字符集,并且带校对规则
create database school character set utf8 collate utf8_bin;
校对规则utf8_bin区分大小写,默认的utf8_general_ci不区分大小写。
显示数据库语句
-- 查看数据库school定义的信息
show create database `school`;
备份和恢复数据库(DOS中)
-- school1 , school2是两个要备份的数据库
-- > 符号表示要备份到的位置
mysqldump -u root -p -B school1,school2 > d:\\bak.sql
--当不存在上述两个数据库的时候进行数据恢复
-- 该操作是在DOS mysql环境下
source d:\\bak.sql
创建表
CREATE TABLE `user`(
`id` INT,
`name` VARCHAR(255),
`password` VARCHAR(255),
`birthday` DATE)
ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
表的名称叫 user,但是因为 user 是关键字,需要用反引号表名这里不是关键字。
反引号在tab键的上面。
最下面的一行也可以不指定使用默认的设置。
列名 id name password birthday 的数据类型分别是:int varchar varchar date
character set:如果不指定则为所在数据库中的字符集
collate:如果不指定就是用数据库的校对规则。
engin:指引擎
边学边更!