一、MySQL的介绍:
-
MySQL属于数据库的一种,目前属于Oracle甲骨文公司
-
MySQL称为关系型数据库、微软的SQL server
-
MySQL数据库是一种基于C/S模型即客户端和服务端模型;
-
客户端通过账号密码连接服务器,连接成功后才可以数据库的操作(增删改查 - CRUD)
-
MySQL的服务端是采用I/O复用+可伸缩的线程池实现了网络高并发的经典模型;
二、MySQL的SQL语句类别的划分
- DDL(Data Definition Language):数据库定义语言
定义了不同的数据库、数据库表、列、索引等数据库对象的定义
常用的SQL:create(创建)、drop(删除)、alter(更新)
- DML(Data Mainpulation Language):数据操控语言
用于添加、删除、变更和查询数据库记录
常用的SQL:insert(添加)、delete(删除)、update(更新)、select(查询)
- DCL(Data Control Language):数据控制语言
控制不同的数据库段直接访问和访问级别的语句
常用的SQL:grant、remove
例如:用户表(用户名、性别、地址)
张三 男 西安
需求:
增加字段:地址 --> 使用的是 DDL
修改属性:将性别修改为女 --> 使用的是DML
三、常用的SQL语句
- 连接前服务端必须要启动:
命令:mysql -u xxx -p xxx
- mysql:代表客户端命令
- -u后面跟用户名(user)
- -p后面跟用户密码(password)
-
退出用户端登陆:exit;
-
库操作SQL格式:
1)创建数据库
create database database_name;
2)查看数据库
show databases;
3)使用数据库
use database_name;
4)查看数据库下存在的表
show tables;
5)删除数据库
drop database database_name;
- 表操作SQL格式
1)创建表
create table table_name(
属性名1 数据类型 [完整性约束],
属性名2 数据类型 [完整性约束],
属性名3 数据类型 [完整性约束]
);
- 属性名例如 id,name,sex;
- 数据类型例如 int,long,char,vaarchar
- 完整性约束例如 主键,外键,非空等
完整性约束如下:
完整性约束 | 说明 |
---|---|
primary key | 标识当前属性为该表的关键,可以区分不同的行记录 |
foreign key | 修饰的属性为该表的外键,表之间关联使用的键 |
not null | 标识属性不能为空 |
unique | 表示属性的值是唯一的 |
auto_increatment | MySQL特色,表示属性是自增的,自增类型为整型 |
default | 给属性设定默认值 |
例如创建一个用户表:
用户ID、用户名、年龄
create table user(
id int primary key unique,
name varchar(10) ,
age int default 18
);
2)查看表
- desc table_name;
- show create table table_name;
3)修改表
在使用过程中,不满足要求需要修改表
用的SQL关键字是alter
- 修改表名
alter table old_name rename [to] new_table_name; - 修改表的字段(属性) name --> username
alter table table_name change 旧属性名 新属性名 新属性类型; - 修改表的属性数据类型
alter table table_name modify 属性名 属性类型 - 增加表的字段
alter table table_name add 属性名 属性类型 [完整性约束];
例如:
id name sex,
1)需要在id之前新增一个address;
alter table table_name add 属性名 属性类型 [完整性约束] first;
2)增加address在name后面
alter table table_name add 属性名 属性类型 [完整性约束] after 属性名;
- 删除字段
alter table table_name drop 属性名; - 修改字段排列顺序
alter table table_name modify 属性1 属性类型 first | after 属性2 - 修改存储引擎
alter table table_name engine=InnoDB | myISAM
四、练习使用部分SQL语句
- 使用用户名和密码登录
- 查看数据库
- 创建数据库
查看是否创建成功
- 使用数据库
- 查看database_test下存在的表,可以看到现在database_test下是不存在表的
- 创建一个表
再次查看databsase_tesyt下存在的表,就可以看到user了 - 查看表,需要知道的是MySQL默认的存储引擎是InnoDB
- 修改表名后查看database_test下的表
- 在name后添加address属性
使用desc table_name查看表
- 删除database_test后查看数据库,然后退出