1.基本命令
1.1启动和关闭mysql服务器
- 步骤:右键win窗口图标(左下角),打开windows PowerShell(管理员)输入:
- 启动:net start mysql服务的名字;
- 关闭:net stop mysql服务的名字;
1.2客户端登录退出mysql
在启动MySQL服务器后,我们需要使用管理员用户登录MySQL服务器,然后来对服务器进行操作。登录MySQL需要使用MySQL的客户端程序:mysql.exe
- 登录:mysql -uroot -p123 -hlocalhost(后面不叫分号)
注意
-u:后面的root是用户名,这里使用的是超级管理员root;
-p:后面的123是密码,这是在安装MySQl时就已经指定的密码;
-h:后面给出的localhost是服务器主机名,它是可以省略的
退出:quit或exit; - 如果无法登陆,说明为配置环境变量
paht == C:\Program Files\MySQL\MySQL Server 5.7\bin (mysql安装目录bin文件)
2.SQL语句
2.1什么是SQL
SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQL Server等。SQ标准(ANSI/ISO)有:
- SQL-92:1992年发布的SQL语言标准;
- SQL:1999:1999年发布的SQL语言标准;
- SQL:2003:2003年发布的SQL语言标准;
语法要求
- SQL语句可以单行或多行书写,以分号结尾;
- 可以用空格和缩进来来增强语句的可读性;
- 关键字不区别大小写,建议关键字用大写
- /* 多行注释 */ – 单行注释 (单行注释需要再—后面打个空格)
2.2分类
- DDL(Date Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
- DML(Data Manipulation Language):数据操作(增删改)语言,用来定义数据库记录(数据);
- DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
- DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
DDL
基本操作
- 查看所有数据库名称:SHOW DATABASES;
- 切换数据库:USE mydb1,切换到mydb1数据库;
操作数据库
- 创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1;
1.创建数据库,例如:CREATE DATABASE mydb1,创建一个名为mydb1的数据库。如果这个数据已经存在,那么会报错。例如CREATE DATABASE IF NOT EXISTS mydb1,在名为mydb1的数据库不存在时创建该库,这样可以避免报错。
2.创建数据库并且设置字符集:
create database 数据库名 character set 字符集; - 删除数据库:DROP DATABASE [IF EXISTS] mydb1;
例如:DROP DATABASE mydb1,删除名为mydb1的数据库。如果这个数据库不存在,那么会报错。DROP DATABASE IF EXISTS mydb1,就算mydb1不存在,也不会的报错。 - 修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8
修改数据库mydb1的编码为utf8。
数据库类型
MySQL与Java一样,也有数据类型。MySQL中数据类型主要应用在列上。
常用类型:
- int:整形
- double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
- decimal:浮点型,在表示钱方面使用该类型,因为不会出现精度缺失问题;
- char:固定长度字符串类型;char(10) ()里面的数字表示字符的长度。char : 一般放字母,数字 – 占1字节。
- nchar : 固定的长度,也可以存汉字, --占2字节。
- varchar:可变长度字符串类型;65535字节,根据数据的实际长度来占用内存空间 varchar(10) ,varchar : 一般字母,数字 – 占1字节。
- nvarchar:可变长度字符串类型:一般放汉字,字母,数字 – 占2字节
- date:日期类型,格式为:yyyy-MM-dd;
- Datetime yyyy-MM-dd hh:mm:ss
完整性约束
完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。
1.主键(唯一,非空)
指定主键约束使用PRIMARY KEY关键字,PRIMARY KEY 约束唯一标识数据库表中的每条记录。
a) 主键必须包含唯一的值。
b) 主键列不能包含 NULL 值。
c) 每个表都应该有一个主键,并且每个表只能有一个主键。
2.主键自增长
MySQL提供了主键自动增长的功能!这样用户就不用再为是否有主键是否重复而烦恼了。当主键设置为自动增长后,在没有给出主键值时,主键的值会自动生成,而且是最大主键值+1,也就不会出现重复主键的可能了。
3.非空
指定非空约束的列不能没有值,也就是说在插入记录时,对添加了非空约束的列一定要给值;在修改记录时,不能把非空列的值设置为NULL。
4.唯一 :unique
还可以为字段指定唯一约束!当为字段指定唯一约束后,那么字段的值必须是唯一的。这一点与主键相似!
注意:
1、唯一性约束,可以有1个null值,并且只能有1个null值。
2、数据不能重复。
5.外键
主外键是构成表与表关联的唯一途径!
外键是另一张表的主键!例如员工表与部门表之间就存在关联关系,其中员工表中的部门编号字段就是外键,是相对部门表的外键。
外键就是用来约束这一列的值必须是另一张表的主键值!!!