MySQL基础

来源:互联网 发布:windows 驱动 路径 编辑:程序博客网 时间:2024/05/21 07:32

一、安装和连接

1.启动mysql服务器

sudo service mysql start

这里写图片描述

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

mysql -u rootquit或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 < 备份文件名;
原创粉丝点击