MySQL基础学习(1)

一.SQL数据库语言分类

1.数据库查询语言(DQL)

常用保留字DQL:where,order by,having,select
用以从表中获得数据,确定数据怎样在应用程序给出
保留字select是DQL(也是所有SQL)用的最多的动词,这些保留字常与其他类型的SQL语句一起使用
专门用于查询数据:select,show

2.数据库操作语言(DML)

常用动词:insert,update,delete,用于添加,修改,删除表行
专门用于查询数据:insert,update,delete

3.事务处理语言(TPL)

常用单词:begin transaction,commit,rollback
它的语句能确保被DML语句影响的表的所有行得以及时更新。
专门用于事务安全处理:transaction

4.数据控制语言(DCL)

常用单词:grant,revoke,来确定单个用户或者用户组对数据库对象的访问
某些RDBMS可用grant或revoke控制对表单个列的访问
专门用于权限处理:grant,revoke

5.数据定义语言(DDL)

常用动词:create,drop,在数据库中创建新表或删除表(create table/drop table)
DDL包括许多人数据库目录中获得数据有关的保留字。他也是动作查询的一部分。
专门用于结构处理:create,drop(alter)

二.启动和停止MySQL服务

命令行打开mysql服务

net start 服务(mysql):开启服务
net stop mysql:关闭服务

系统服务打开mysql服务

services.msc:打开“服务”菜单
//手动操作打开

三.登录和退出MySQL系统

命令行登录

以下顺序:
mysql//进入mysql
-h//本地登录
-h[IP地址/域名]//其它地方登录
-P:3306//输入服务器中mysql监听的端口
-u:root//输入用户名
-p:password//输入密码
//示例
mysql    -hlocalhost    -P3306   -uroot   -ppassword

SQL指令行退出

Exit;
\q
Quit

四.MySQL服务端架构

以下几层构成:

(外).数据库管理系统(DBMS),专门管理服务器端的所有内容
(上).数据库(DB),专门用于存储数据的仓库(可以有很多个)
(下).二维数据表(Table),专门用于存储具体实体的数据
(内).字段(Field),具体存储某种类型的数据(实际存储单元)

数据库中常用的几个关键字

Row:行
Colunm:列(field)

五.数据库基本操作

数据库是数据存储的最外层(最大单元)

1.创建数据库

create database 数据库名字 [库选项];
//出现ERROR阻止用户创建的用账号密码登录,不要默认匿名用户登录

库选项:数据库的相关属性
字符集:charset字符集,代表当前数据库下的所有表存储的数据默认指腚的字符集(如果当前不指腚,那么采用DBMS安装时默认的)
校对集:collate校对集

create database 数据库名字 charset 字符集名称

2.查看数据库

//显示全部
show databases;
//显示部分
show databases like'匹配模式';
_:匹配当前位置单个字符
%:匹配指腚位置多个字符
//显示数据库创建语句
show create database 数据库名字;

3.选择数据库

use 数据库名字;

4.修改数据库

//修改数据库字符集(库选项)
alter database 数据库名字 charset=字符集;

在这里插入图片描述

5.删除数据库

drop database 数据库名字;
//删除虽简单,但确保数据没问题
//删除数据库之后,对应的存储数据的文件夹也会被删除(opt)

六.数据表操作

1.普通创建表

create table 表名(字段名 字段类型[字段属性],字段名 字段类型[字段属性])[表选项];
create table 数据库名.表名(字段名 字段类型[字段属性],字段名 字段类型[字段属性])[表选项];
//也可以先进到那个数据库再来create

在这里插入图片描述表选项:与数据库选项类似
Engine:存储引擎,mysql提供的具体存储数据的方式,默认有一个innodb(5.5以前是myisam)
Charset:字符集,只对当前自己表有效(级别比数据库高)
Collate:校对集

create table student(
name varchar(10)
)charset utf8;

2.复制已有的表结构

从已经存在的表复制一份(只复制结构,如果表中有数据不复制)
基本语法:create table 新表名 like 表名;
只要使用数据库名.表名格式,就可以在任何数据库下访问其它数据库的表名
在这里插入图片描述

3.显示数据表

在这里插入图片描述

ibdata1存储所有innodb存储引擎对应的表数据

显示所有表

show tables;

匹配显示表

show tables like 'c%';
//具体与上面显示库一样

显示表结构

显示表中所包含的字段信息(名字,类型,属性)

describe 表名
desc 表名
show columns from 表名

在这里插入图片描述

显示表创建语句

已经被加工过了

show create table 表名;

;与\g是一样的结束符,\G把表旋转了90度

设置表属性

engine,charset,collate

alter table student charset gbk;
//数据多了不要轻易改表属性

修改表结构

数据库中表名字通常有前缀:取数据库的前两个字母加上下划线

//修改表名
rename table 旧表名 to 新表名
//修改表选项
alter table 表名 表选项 [=] 新值
//新增字段
alter table 表名 add[column] 新字段名 列类型 [列属性] [位置first/after字段名]
//修改字段名
alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置]
修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置]
//删除字段
alter table 表名 drop 字段名

默认是添加到末尾的,要用first或者after某个字段之后
在这里插入图片描述

在这里插入图片描述

删除表结构

drop table 表名[,表名2]
//可以同时删除多个表

在这里插入图片描述

七.数据基础操作

插入操作

本质含义:将数据以SQL的形式存储到指腚的数据表(字段)里面

insert into 表名[(字段列表)] values(对应字段列表)
insert into 表名 values(对应结构)

在这里插入图片描述

查询操作

select * from 表名
//* 表示匹配所有的字段
select 字段列表 from 表名
//部分字段查询
select 字段列表/* from 表名 where 字段名=//简单条件查询

在这里插入图片描述

八.删除操作

delete from 表名[where 条件];

如果没有where条件,系统将会自动删除该表所有数据!!!!!
在这里插入图片描述

最后,真诚地感谢黑马程序员!

猜你喜欢

转载自blog.csdn.net/qq_52480906/article/details/120864142