MySQL的基础操作
MySQL的一些入门小知识,个人觉得写的比较碎细,每个操作都附有截图,文章底部有总结,如果想看总结的话可以直接拉到底部。
一.登录MySQL
第一步:win+r打开运行,输入cmd
第二步:输入:mysql -u <用户名> -p
第三步:输入密码(初次进入一般都是空密码,按enter键确认就好了),当出现以下这个界面就说明已经登录MySQL
二.数据库的操作
2.1创建数据库
CREATE DATABASE [IF NOT EXISTS] <用户名> […];
注:[ ]里面表示可添加项
if not exists :建立数据库时判断该数据库是否存在,若不存在则建立数据库,如果存在则不建立。
//1.创建一个名为demo的数据库
create database demo;
2.2显示数据库
SHOW DATABASES;
//显示所有数据库
show databases;
2.3使用数据库
USE <数据库名> ;
// 使用demo数据库
use demo;
2.4删除数据库
DROP DATABASE [IF EXISTS] <数据库名> ;
注:[ ]里面表示可添加项
if exists :建立数据库时判断该数据库是否存在,若存在则删除数据库,如果不存在则不删除。
// 如果存在demo数据库就删除demo数据库
drop database if exists demo;
三.常用的数据结构
数据类型 | 大小 | 说明 | 对应的java类型 |
---|---|---|---|
BIT[(M)] | M指定位数,默认为1 | 二进制数,M范围从1到64,存储数值范围从0到2^M-1 | 常用来表示Boolean类型,此时只能存1位数,保存0和1 |
INT | 4字节 | Integer | |
DECIMAL(M,D) | M/D最大值+2 | 双精度,M指定长度,D指定小数位数。精确数值 | Double |
VARCHAR(SIZE) | 0-65535字节 | 可变长度字符串,size代表长度 | String |
TEXT | 0-65535字节 | 长文本数据 | String |
DATATIME | 8字节 | 从1000到9999年,不进行时区的检索及转换 | java.util.Date.java.sql.Timestamp |
TIMESTAMP | 4字节 | 从1970年2038年,自动检索当前时区并进行转换 | java.util.Date.java.sql.Timestamp |
四.表的操作
当我们相对数据库中的某一张表进行操作时,需要先使用该数据库(这里以使用“demo”数据库为例)
use demo;
4.1.查看所有表
show tables ;
// 查看表
show tables ;
4.2.创建数据表
4.2.1创建表
create table <表名>(
字段1 数据类型1 [comment ‘备注’],
字段2 数据类型2,
字段3 数据类型3,
);
注:comment 可以给字段增加备注
// 创建一张老师表,老师的id 整形 老师的姓名 字符串类型。
create table teacher(
id int ,
name varchar(50) comment '姓名'
);
4.2.2表的约束
4.2.2.1 NULL约束
创建表时可以使某列不为空
// 创建一张老师表,老师的id 类型不为空
create table teacher(
id int not null ,
name varchar(50)
);
4.2.2.2 UNIQUE约束
指定某一列的值是唯一不重复的。
// 创建一张老师表,老师的name类型唯一
create table teacher(
id int ,
name varchar(50) unique
);
4.2.2.3 DEFAULT约束
指定插入数据时,若该列为空,则该列的值就为设置的默认值
// 创建一张老师表,老师的name类型默认值为“小明”
create table teacher(
id int not null ,
name varchar(50) default ’小明‘
);
4.2.2.4 PRIMARY KEY 主键约束
主键通常为一个表的标识符,常用auto_increment(自增主键)来使用
主键相当于是not null和nuique的结合
// 创建一张老师表,老师的id 为主键
create table teacher(
id int primary key auto_increment ,
name varchar(50)
);
4.2.2.5 FOREIGN KEY 外键约束
外键用于关联其他表的主键或唯一键
foreign key (字段名)references 主表(列)
4.2.2.6 CHECK约束
创建表时可以使某列不为空
// 创建一张老师表,老师的性别是男或女
create table teacher(
id int not null ,
name varchar(50),
sex varchar(1) ,
check(sex='男‘ or sex = '女')
);
4.3.查看表结构
desc <表名> ;
// 查看teacher表
desc teacher;
4.4.删除数据表
drop table <表名>;
// 删除老师表
drop table teacher;
五.内容小结
启动MySQL
1.win+r启动运行
2.运行里面输入cmd;
3.输入:mysql -u root -p;
4.输入密码
5.登录成功
数据库操作
-- 创建数据库
create database [if not exists]<数据库名>;
-- 显示数据库
show databases;
--使用数据库
use <数据库名>;
--删除数据库
drop database [if exists] <数据库名>;
常见数据结构
类型 | 名称 |
---|---|
INT | 整形 |
DECIMAL(M,D) | 浮点类型 |
VARCHAR(SIZE) | 字符串类型 |
DATATIME | 日期类型 |
约束
约束名 | 说明 |
---|---|
NOT NULL | 字段不能为空 |
UNIQUE | 保证每个值都是唯一的 |
DEFAULT | 设置默认值 |
PRIMARY KEY | 主键约束 |
FOREIGN KEY | 外键约束 |
CHECK | 保证列中元素符合check的值 |
表操作
-- 查看所有表
show tables;
-- 创建数据表
create table <表名>(
字段1 数据类型1,
字段2 数据类型2,
字段3 数据类型3,
);
-- 显示表结构
desc <表名> ;
-- 删除数据表
drop table [if exists]<表名>;
-- 查看警告
show warnings;