MySQL使用方法
- 命令行模式
MySQL Command Line Client :命令行模式下输入sql语句来实现数据库的增删改查等操作
- 图形界面工具
类似同于excel,我们可以用点点来实现增删改查等数据库操作
SQL
- SQL是用于访问和处理数据库的标准的计算机语言
- 是一种专门用来与数据库通信的语言,提供一种从数据库中读写数据的简单有效的方法
- SQL指结构化查询语言,指数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
一、SQL语言分类
数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
1、数据查询语言DQL
基本结构是由SELECT子句,FROM子句,WHERE子句构成
2、数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE
3、数据定义语言DDL
数据定义语言DDL用来创建数据库中的表、视图、
索引、同义词、聚簇等
如:
CREATE TABLE / VIEW / INDEX / SYN(同义词) / CLUSTER(簇)
4、数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT: 授权
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等
2) ROLLBACK: 回滚
3) COMMIT: 提交
注意
在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到
二、SQL语言优点
- 几乎所有重要的DBMS都支持SQL
SQL不是某个特定数据库供应商专有的语言。所以,学习此语言使你几乎能与所有数据库打交道。
- SQL简单易学
它的语句全都是由描述性很强的英语单词组成,而且这些单词的数目不多
- SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活
使用其语言元素,可以进行非常复杂和高级的数据库操作。
三、SQL语法特点
- SQL语句可以换行,要以分号结尾
- 命令不区分大小写关键字和函数建议用大写(官方推荐)
- 命令打错了换行后不能修改,可以用\c取消
四、数据库的操作步骤
- 连接MySQL
- 打开数据库
- 操作数据
- 退出连接
1、连接
打开命令行,输入密码,进行连接,回车后出现mysql>表示连接成功
2、打开
在你最初连接到MySQL时,没有任何数据库打开供你使用。在你执行任意数据库进行数据操作前,需要选择一个数据库。为此,可使用USE关键字。
USE 数据库名;
USE python21;
显示出的Database changed表示数据库选择成功,可以使用当前数据库下的所有数据表中的数据
必须先使用USE打开数据库(选中指定的数据库),才能读取其中的数据
注意
- 关键字
作为MySQL语言组成部分的一个保留字。决不要用关键字命名一个表或列 - 在使用USE切换并选择数据库时,要选择已存在的数据库,否则报一下错误
3、操作
1)数据库操作
- 查看数据库
SHOW DATABASES; 返回可用数据库的一个列表
- 创建数据库
CREATE DATABASE 库名 DEFAULT CHARSET=UTF8; (执行上大小写无差别)
- 查看建库语句
SHOW CREATE DATABASE 数据库名;
- 删除数据库
DROP DATABASE 库名;
2)数据表操作
数据库管理系统中,可以有很多数据库,每个数据库中可以包括多张数
据表
- 创建表
```sql
# 如果创建已存在表名会报错
create table 表名 (
字段1 类型 约束条件,
字段2 类型 约束条件
)default charset=utf8;
例如:
create table shop (
id int not null primary key auto_increment,
goods_name varchar(255),
goods_id int not null,
goods_prices varchar(255)
)default charset=utf8;
或
# 如果表不存在,则创建,如果存在就不执行这条命令
create table if not exists 表名 (
字段1 类型 约束条件,
字段2 类型 约束条件,
.......)
default charset=utf8;
```
例如:
```sql
create table if not exists shop (id int not null primary key auto_increment, goods_name varchar(255),goods_id int not null,goods_prices varchar(255))default charset=utf8;
```
- 查看建表语句
```sql
SHOW CREATE TABLE 表名 \G
或
SHOW CREATE TABLE 表名;
```
- 查看某一数据库内的所有数据表
```sql
SHOW TABLES;
查看数据表之前需要进入指定数据库(也就是查看当前数据库下的数据表)
```
- 查看数据表中数据
```sql
SELECT * FROM 表名;
```
- 每一项称为字段
- 每一行称为一条记录
- 查看表结构
```sql
DESC 表名;
```
- 删除数据表
```sql
DROP TABLE 表名;
```
3)数据操作
- 增
- 删
- 改
- 查
- 增加数据 / 插入数据
```sql
# 单条插入
INSERT INTO 表名 (字段1,字段2,字段3,...) values(值1,值2,值3,...);
例如:insert into class(class_name,teacher,stu_num) values ('python1','雷雷',19);
# 批量插入
INSERT INTO 表名 (字段1,字段2,字段3,...) values (a值1,a值2,a值3),(b值1,b值2,b值3),...;
例如:insert into class(class_name,teacher,stu_num) values ('python4','雷雷',67),('python2','萌萌',23),('python3','雷雷',23);
```
- 查询
```sql
SELECT * FROM 表名;
SELECT 字段1,字段2,字段3 FROM 表名;
SELECT * FROM 表名 WHERE 字段=某个值;
```
- 修改
```sql
UPDATE 表名 SET 字段=某个值 WHERE 条件;
```
- 删除
```sql
DELETE FROM 表名WHERE 字段=某条件;
```
4、退出
exit;
quit;
五、快捷键
- \G 格式化输出,垂直显示结果(竖立显示)
- \s 查看服务器端信息
using delimiter 分隔符
connection id 连接的连接ID或者thread ID。对于已经建立的连接的客户端,都有一个唯一的连接ID
- \c 结束命令输入操作
- \h 查看帮助
- \q 退出当前命令行模式
正文完