MySQL介绍和基础语法

MySQL

一、数据库中列的常用类型

类型mysqljava
整型int、bigintint、long
小数double、decimaldouble、BigDecimal
日期date、datetimejava.util.date
字符char(定长)、varchar(变长)String
二进制bit(0/1)boolean

注意:
MySQL中,字符类型必须指定长度,值要使用单引号
日期时间类型值要用单引号

二、SQL包含的6部分

1.数据查询语言(DQL)

在表中查询数据,
基本语法:SELECT * FROM t_table WHERE condition

2.数据操作语言(DML)

语句包括:增、删、改
INSERT \ DDELETE \ UPDATE

3.事务处理语言(TPL)

它的语句能确保被DML语句影响的表的所有行及时更新.
语句包括:begin、transaction、commit、rollback

4.数据控制语言(DCL)

它的语句通过grant或revoke获得许可,确定单个用户和用户组对数据库对象的访问
权限访问

5.数据定义语言(DDL)

在数据库中创建新表或删除表,为表加入索引等
语句包括:create table{}、drop table

6.指针控制语言(CCL)

用于对一个或多个表,单独执行的操作

三、DDL语法操作

以下的操作都是在cmd中进行的操作

1.进入数据库

mysql -u账户 -p密码 -h数据库服务器安装的主机 -P数据库端口;

2.查看数据库

show databases;

3.创建数据库

create datebase 数据库名称;

4.进入数据库

use 数据库名称;

5.查看数据库中的表

show tables;

6.在数据库中创建表

create table 表名(
	id bigint primary key auto_increment,
	列名2 列的类型 [约束],
	列名3 列的类型 [约束]
);

7.在数据库中删除表

drop table 表名;

注意

常见的表的约束
①主键约束:primary key 非空且唯一
②主键自增:auto_increament(1开始、步长为1)

四、DML语法操作

1.增加

INSERT INTO 表名(列名1,列名2,列名3,...) VALUES (1,2,3,...);

2.删除

DELETE FROM 表名 [WHERE 条件]
如果没写条件,就是清空表中的所有数据,有条件就是只删除符合条件的.

3.修改

UPDATE 表名 SET 列名1=1,列名2=2,列名3=3,... [WHERE 条件];
没加条件就是将表中所有数据都修改,如果有条件就只修改符合条件的.

五、DQL语法操作

1.普通查询

消除重复数据
SELECT DISTINCT 列名 FROM 表名 [WHERE 条件];
别名
SELECT 列名 AS 别名 FROM 表名 [WHERE 条件];
按指定格式输出
SELECT CONCAT(列名,字符串,列名,字符串…) FROM 表名 [WHERE 条件];

注意:

concat将里面的所有拼接成一个字符串,查询后列名显示的就是这样的格式内容

2.过滤查询

比较运算符
!=、==、>=、<=、>、<
逻辑运算符
and or not

查询年龄18且是java班的学生
SELECT * FROM student WHERE age = 18 AND className = 'java';

查询年龄是18 或者 年龄是23的学生
SELECT * FROM student WHERE age=18 or age=23

查询年龄不是1823 的学生
SELECT * FROM student WHERE (NOT age = 18) AND (NOT age = 23);

范围和集合
between 数值1 and 数值2 == [数值1,数值2]
in (值1,值2,值3,…) 符合值1、值2、值3等.

例如:查询年龄是18-25的学生
SELECT * FROM student WHERE age BETWEEN 18 AND 25;

例如:查询年龄是18.20.22的学生
SELECT * FROM student WHERE age IN (18,20,22);

判空
is null 和 ‘’ (什么都没存,但是不是为NULL的情况)

例如:找空的情况
SELECT * FROM student WHERE t_name IS NULL;

找不为空的情况
SELECT * FROM student WHERE NOT t_name IS NULL;

找空字符串的情况
SELECT * FROM student WHERE t_name = '';

找不为空字符串的情况
SELECT * FROM student WHERE t_name != '';
SELECT * FROM student WHERE NOT t_name = '';

模糊匹配查询
%:匹配任意个数的任意字符
_:匹配任意一个字符

查询名字带有M的学生
SELECT * FROM student WHERE t_name LIKE '%M%';

查询名字不带有M的学生
SELECT * FROM student WHERE NOT t_name LIKE '%M%';

查询名字第二个字母是M的学生
SELECT * FROM student WHERE t_name LIKE '_M%';

3.结果排序

ORDER BY 升序:ASC/降序:DESC

按照年龄升序排序
SELECT * FROM student ORDER BY age;
SELECT * FROM student ORDER BY age ASC;

按照年龄降序排序
SELECT * FROM student ORDER BY age DESC;

4.分页查询

limit ?,?
第一问号是:当前开始的索引
第二个问号是:当前页存储的最大数据量

显示3条数据量的第一页数据
SELECT * FROM student LIMIT 0,3;
显示3条数据量的第三页数据
SELECT * FROM student LIMIT 6,3

补充:

第一个问号的计算公式:(要显示的页码 - 1)*每页数据量

5.统计函数

COUNT(*):数据的总条数
SUM():对应列的总值
MAX():对应列的最大值
MIN():对应列的最小值

student表中的数据总数
SELECT COUNT(*) FROM student;

员工表中的工资总数
SELECT SUM(salary) FROM employee;

员工表中的最高工资
SELECT MAX(salary) FROM employee;

员工表中的最低工资
SELECT MIN(salary) FROM employee;

补充

执行顺序
from
where
select
order by
因此别名可在order by上使用

六、数据备份和恢复

1.MySQL自带的

mysqldump.exe:备份

mysqldump -u账户 -p密码 数据库名称>脚本文件存储地址\文件名.sql

mysql.exe:还原

mysql -u账户 -p密码 数据库名称 < 脚本文件存储地址\文件名.sql

补充

支持各种数据库和可视化界面的还原
后面的文件名的后缀一定要是.sql
备份和还原的区别就是mysqldump 和mysql 以及 > <的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值