MySQL基础

一、安装和连接

1.启动mysql服务器

sudo service mysql start

这里写图片描述

2.尝试MySQL
(1)连接与断开服务器

mysql -u root
quit或exit

(2)查看数据库

show databases;

这里写图片描述

(3)连接数据库

use information_schema

(4)查看表

show tables;

(5)查询

这里写图片描述

亦可用作简单的计算器
这里写图片描述

取消输入
这里写图片描述

二、创建数据库并插入数据

1.创建数据库
大多数系统不区分大小写,一般保留字大写,变量和数据小写。

CREATE DATABASE mysql_shiyan;

这里写图片描述

2.连接数据库
这里写图片描述

3.新建数据表
数据库只是一个框架,表才是实质内容。

CREATE TABLE 表名
(
    列名a 数据类型(数据长度),
    列名b 数据类型(数据长度),
    列名c 数据类型(数据长度)
);

这里写图片描述

4.数据类型
INT(4)
FLOAT(4)
DOUBLE(8)

5.插入数据

INSERT INTO 表的名字
(列名a,列名b,列名c)VALUES(值1,值2,值3);

这里写图片描述

三、SQL的约束

1.约束分类
主键(PRIMARY KEY)
默认值(DEFAULT)
唯一(UNIQUE)
外键(FOREIGH KEY)
非空(NOT NULL)

2.主键
定义:

CREATE TABLE employee
(
  id     INT(10) PRIMARY KEY,
  name   CHAR(20),
  ....
);

或者

CREATE TABLE department
(
  dpt_name    CHAR(20) NOT NULL,
  CONSTRAINT  dpt_pk PRIMARY KEY (dpt_name)
);

复合主键

CREATE TABLE project
(
  proj_num     INT(10)  NOT NULL,
  proj_name    CHAR(20) NOT NULL,
  CONSTRAINT proj_pk  PRIMARY KEY (proj_num,proj_name)
);

3.默认值约束
有DEFALULT约束的列。插入数据为空时,将使用默认值

people_num  INT(10) DEFAULT '10',

在使用INSERT语句时体现出来

正常插入
INSERT INTO department(dpt_name,people_num) VALUES('dpt1',11);

people_num 为空,使用默认值
INSERT INTO department(dpt_name) VALUES('dpt2');

这里写图片描述

4.唯一约束
规定的列的每个值唯一

phone  INT(12)  NOT NULL,
UNIQUE  (phone),

这里写图片描述

5.外键约束
确保数据完整性,表现表之间的关系

CONSTRAINT emp_fk FOREIGN KEY(in_dpt) REFERENCES department(dpt_name)

这里写图片描述

添加外键失败处理1
添加外键失败处理2
外键的使用

6.非空约束
被非空约束的列,在插入时必须非空

age INT(10),
salary INT(10) NOT NULL,


违反非空约束,不会报错,只有警告,salary被记为0

四、其它基本操作

1.索引
加快查询速度

ALTER TABLE 表名 ADD INDEX 索引名 (列名);
CREATE INDEX 索引名 ON 表名 (列名);

这里写图片描述

2.视图
虚拟存在的表,只看到关心的数据

CREATE VIEW 视图名(列1,列2,列3AS SELECT 列a,列b,列c FROM 表名字;`这里写代码片`

这里写图片描述

3.导入

LOAD DATA INFILE '文件名路径名' INTO TABLE 表名字;

txt文件用TAB键作为空格
这里写图片描述

4.导出

SELECT 列名1,列名2 INTO OUTFILE '文件名及路径名' FROM 表名字;

5.备份

mysqldump -u root 数据库名>备份文件名;//备份整个数据库
mysqldump -u root 数据库名 表名>备份文件名;//备份整个表

6.恢复

1. source 文件;
2. 新建空的数据库test
   mysql -u root test < 备份文件名;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值