启动客户端:在bin目录下 mysql -uroot -p123456
命令格式为: mysql -u 用户名 -p 口令 -P 端口号 -h 主机名称 。在实际应用中,不建议直接使用 -p 口令的这种格式
如果正常启动,则可以看到命令提示符 mysql>
如果需要在任意目录都可以打开客户端,则需要将 bin 的绝对目录添加到 path 系统环境变量中

查看所有的数据库 show databases;

注意 information_schema mysql sys performance_schema 都属于系统数据库,不要直接操作这些数据库
切换当前数据库:  use 数据库名称;
查看当前数据库下的所有数据表 : show tables;
查看某个数据表的结构定义:  desc 数据表名称;
放弃正在输入的命令 : \c
显示命令清单:  \h
退出客户端 : \q ,也可以使用 exit 或者 quit
查看服务器的状态信息 : \s
退出客户端 : quit

SQL语句

MySQL中可以将SQL分为4大类

DDL 数据定义语言, create 创建、 alter 修改、 drop 删除、 truncate 截断
DML 数据操纵语言, insert 插入、 update 修改、 delete 删除
DQL 数据查询语言, select 查询
DCL 数据控制语言, grant 授权、 revoke 回收权限

DDL数据定义语言

用于定义数据库对象的操作语句

数据库操作

创建操作

注意: DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删旧库完成
语法规则 create database 数据库名称 default character set utf8;   ,一般默认编码字符集为
latin1
create database test default character set utf8; -- 创建数据库,名称为 test ,默认编码
字符集为 utf-8
-- 如果数据库已经存在,则再次创建会报错
create database if not exists test default character set utf8; -- 如果 test 已经存在
则不执行创建操作,同时不会报错

如果数据库创建成功,则自动在数据文件夹data下新增一个test目录(c盘用户) 

删除操作

语法规则 drop database 数据库名称;
drop database test; -- 删除指定数据库;如果数据库不存在则报错
drop database if exists test; -- 如果存在则删除,如果不存在也不报错

查看所有数据库 show databases;  

mysql中允许同时打开多个数据库,不同的数据库管理系统不一样

切换当前数据库 use 数据库名称;

use test; -- 如果数据库存在则切换到指定的数据库test下进行操作;如果不存在则报错

查看当前操作的数据库  

select database();

查看数据库的创建语句

show create datbase test;
注意 要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有对象加上
据库名 .”

更改数据库字符集

ALTER DATABASE 数据库名 CHARACTER SET 字符集 ; # 比如: gbk utf8

默认系统数据库

系统数据库就是供 DBMS 使用的数据库,如果损坏则会导致 DBMS 无法正常启动,所以一般不建议直接操作
  • information_schema记录所有数据库和数据库中表的信息
  • mysql记录时区、权限之类的配置信息
  • sys保存和锁、统计相关的信息
  • performance_schema用于实现对运行过程的资源的使用情况的统计
  • test非系统数据库,仅供测试样例

数据表的操作

创建数据表基本语法: create table 数据表的名称(数据列的名称 数据类型 约束规则,......)engine=
存储引擎名称 default charset utf8;
create table tb_student( -- 这里可以加入 if not exists 表示不存在时才进行创建。注意在一
个数据库中的表名称不允许重复。按照阿里的规范,要求基表名称必须使用【 tb_ 表】
        id bigint primary key auto_increment,
        name varchar ( 20 ) not null ,
        sex boolean default 1 -- mysql 数据库中有一些属性数据类型的别名
) engine=innodb default charset utf8; -- 实际上从 MySQL5.5 开始默认存储引擎就是 innodb
但是一般建议还是添加上存储引擎的设置
数据表创建完成,则会发现在 data/test 目录下出现一个文件 tb_student.ibd
一般使用的存储引擎 engine 常见的有 innodb myisam 两种,如果使用 myisam 则会创建两个文件,
1 .myd 数据信息文件,其中包含表的数据;
2 .myi 索引信息文件,是用于提高查询效率的索引数据

查看表中的列定义 

desc 表名称;

查看具体的列定义

show create table 表名称;

标识符命名  

数据库涉及的字符规范,注意不是语法规则,属于建议性质的规则
  • 采用 a-z 英文字母、数字 0-9 和下划线 _ 组成,共 63 个字符,不能出现其他字符,除非是注释
    • 不区分大小写
    • 使用中文字符实际上是不会有语法错误的,但是不建议
  • 一般命名长度不要超过 30 个字符的系统限制,变量名称由于需要使用 @ 标识符,所以长度限制为 29
  • 数据库对象、变量的命名都采用英文字符,禁止使用中文命名,绝对不允许在对象名称中间出现空格
    • 如果在命名过程中破坏规则实际上引入反引号就好`,注意不是单引号
    • create table `t 1`(id int);
  • 小心保留字,尽量保证命名中不采用保留字,避免容易产生冲突
  • 注意开发中字段名称和类型名称的一致性

数据类型 

  • 定义数据类型就是定义列,数据类型决定数据的特性
  • 数据类型主要分为字符串类型,浮点书类型和定点数类型,日期类型以及二进制类型
  • 数据类型在不同的存储引擎上表现不同
  • 根据所采用的数据类型,需求和数据特性选择数据类型

更多推荐