MySQL数据库(SQL语言)

一、基本数据库操作语句

启动和关闭MySql服务

启动MySql服务

1.命令行操作启动MySql服务

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_数据库

2.通过计算机控制面板访问服务

控制面板----》管理工具----》服务-----》MySQL服务名—》启动

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_表名_02

关闭MySql服务

1.命令行操作关闭MySql服务

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_数据库_03

2.通过计算机控制面板访问服务

控制面板----》管理工具----》服务-----》MySQL服务名—》停止

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_表名_04

如果MySQL服务没有启动,我们是无法登陆连接到MySQL数据库服务器的,所以登陆连接到MySQL数据库服务器之前,检查一下服务是否启动。

2.登陆MySql服务器

1.命令行登陆MySql服务器

1.1 本机登陆 MySQL -u用户名 -p密码

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_MySQL_05

1.2 远程登陆 MySQL -h数据库服务所在计算机IP -u用户名 -p密码

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_表名_06

2.图形界面的管理工具登陆MySql服务器

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_MySQL_07

3.查询数据库服务器上现有的数据库

show databases;

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_MySQL_08

4.选择自己需要使用的数据库
use test;

5.查询被选中数据库中的数据库表

show tables;

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_MySQL_09

6.创建数据库

create database [mydata_db];

sql 在mysql工具中执行快 mybatis中执行慢 mysql执行sql语句点哪个按钮_表名_10

数据库名称可以携带”_db”作为后缀,以表示这是一个数据库。

7.删除数据库
drop database [mydata_db];

二、MySQL常用数据类型
1.字符串型 VARCHAR[整数]、CHAR[整数]
2.数值型TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
3.逻辑型 BIT [0/1]
4.日期型DATE、TIME、DATETIME、TIMESTAMP
5.大数据类型BLOB[2进制]、TEXT[文本]

三、MySQL定义表的字段的约束

1.定义主键约束:primary key:不允许为空,不允许重复
【往往数据库表的第一列就是主键列】
2.主键自动增长 :auto_increment
【与主键约束一起使用 / 数据库一定要支持自动增长机制】
3.定义唯一约束:unique 不允许重复 例如:name varchar(20) unique
4.定义非空约束:not null 不允许为空 例如:salary double not null
四、基本数据库表操作语句

创建数据库表

#格式:
 create table t_user(
 列名1 数据库类型 [约束],
 列名2 数据库类型 [约束],
 …
 列名n 数据库类型 [约束]
 );
 例如:创建一个用户表
 create table t_user(
 user_id int primary key auto_increment,
 user_name varchar(20) not null,
 user_sex bit,
 user_height double,
 user_bri datetime
 );

修改表结构【通常都是在数据库表结构创建好以后】

1、修改表结构增加一个user_head列。
 alter table 表名 add user_head varchar(20) ;
 2、修改表结构修改指定列的数据类型。
 alter table t_user modify user_head char(10);
 3、修改表结构修改指定列的名称
 alter table t_user change user_head head varchar(20) not null;
 4、修改表的字符集为utf8
 alter table 表名character set utf8;
 5、修改表结构删除指定列。
 alter table 表名 drop head;
 6、修改表表名
 rename table 旧名称to 新名称;
 7、删除数据库表【会删除表中的数据记录以及表结构】
 drop table user_table;

五、insert语句向表中插入数据

1.所有列都添加数据,没有数据的列是用null代替【一一对应】
2.字符串数据与时间日期型数据在添加信息的时候需要单引号
3.bit型的true为1,false为0
4.null数据不再唯一约束的范围
5."2020年09月23日"这种时间提起格式不能用

sert into usertable values(null,‘张三’,true,null,null);
 insert into usertable values(null,‘李四’,false,null,null);
 insert into usertable values(null,‘王五’,true,168.5,‘2020/09/23’);
 insert into usertable values(null,‘赵六’,true,170.5,‘2020-09-23’);
 insert into usertable values(null,‘王麻’,false,180.5,‘2020-09-23 15:30:30’);

6.指定列添加数据

insert into usertable(user_id,user_name,user_sex)values(null,‘马七’,false);

六、update语句修改表中数据
1.主键列不能被修改
2.修改语句一般都会有限定条件

update usertable set user_name=‘张三丰’,user_sex=false,user_height=160.5
 where user_id=1;update usertable set user_name=‘张三三’,user_sex=true,user_height=190.5
 where user_id=5 or user_height=168.5;update usertable set user_name=‘李诗’,user_sex=false
 where user_id=9 and user_name=‘马七’;

七、delete语句删除表中数据

delete from usertable where user_id=1;
 delete from usertable where user_id=9 or user_name=‘李四’;
 delete from usertable where user_id=3 and user_name=‘张三’ and user_sex=false;

八、基本select语句
1.查询所有

select *from usertable;

2.查询指定列

select user_name,user_height from usertable;

3.基本条件查询 【 or and 】

select *from usertable where user_id=8;
 select *from usertable where user_id=8 or user_sex=true;
 select *from usertable where user_name=‘赵六’ and user_sex=true;

4.比较运算符查询

select *from usertable where user_height<180.5;
 select *from usertable where user_height<180.5 and user_sex=true;

5.区间查询 between 最小值 and 最大值

select *from usertable where user_height between 160.5 and 190.5;
 select *from usertable where user_height >= 160.5 and user_height <= 190.5;

6.in(集合)条件查询

select *from usertable where user_id in(1,2,3,5,6,8);

7.模糊查询

select *from usertable where user_name like ‘%三’;
 select *from usertable where user_name like ‘三%’;
 select *from usertable where user_name like ‘%三%’;

8.判断是否为空is null

select *from usertable where user_height is null;

9.not (取反)

select * from usertable where not(user_height > 170.5);
 select * from usertable where user_height is not null;

10.排序查询 order by 列名 asc[升序]|desc[降序]

select * from t_user order by uage asc;
 select * from t_user order by uheight desc;

11.SQL聚合函数查询

#count(列名/) – 行的总数【总记录数】
 select count() from t_user;
 #sum(列名) – 求和
 select sum(uheight) from t_user;
 #avg(列名) – 求平均数
 select avg(uage) from t_user;
 #max(列名) – 求最大值
 select max(uage) from t_user;
 #min(列名) – 求最小值
 select min(uheight) from t_user;

12.分页查询 limit 参数1 , 参数2

#参数1—当前页的第一条记录的开始位置[(当前页码-1)*每页记录数]
#参数2—每页记录数
#共有8条记录,每页显示3条记录
#第1页
select * from t_user limit 0,3;
#第2页
select * from t_user limit 3,3;
#第3页
select * from t_user limit 6,3;

13.分组查询 group by 列名[先分组,后查询统计]

select uage,count(uage) from t_user group by uage;
select usex,count(usex) from t_user group by usex;
14. 别名查询

#数据库表可以有别名 【表名称 as 表的别名 / 表名称 表的别名】
#例如: t_user as 用户表 / t_user 用户表
select usex,count(usex) from t_user as 用户表 group by usex;
#表中的列[包括统计函数]可以有别名
#【列名称 as 列的别名 / 列名称 列的别名】
select usex as 性别,count(usex) 总数 from t_user as 用户表 group by usex;
select usex as 性别,count(usex) 总数 from t_user as 用户表 group by 用户表.usex;
#别名通常情况下会在多表查询中区分名称相同的列。