mysql 简单命令 与 开启远程连接

安装参照网上安装方法window下安装mysql及配置
window下
开启MySQL 服务 net start mysql
关闭MySQL服务 net stop mysql

linux下
开启MySQL服务 service mysql start
停止MySQL服务 service mysql stop

mysql 命令在linux与window下一致
进入mysql mysql -u 用户名 -p

查看数据库版本 select version();

查看当前时间 select now();

退出 exit 或者 quit

增 删 改 查 CRUD便是数据库的最重要操作

库的操作
展示所有数据库 show databases;

创建数据库 create database 数据库名 charset=‘编码格式’;
例如 create database school charset=‘utf8’;
创建一个数据库 名为school 编码格式 utf-8

删除数据库 drop database 数据库名;
例如 drop database school;

一般不会对数据库做修改

使用数据库 use 数据库名
例如 use school

查看当前使用数据库 select database()

表的操作
创建表 create table 表名 (字段名1 字段描述1,字段名2 字段描述2,。。。)

字段描述 int 整形 varchar 字符型 bit 位(0,1)
常用字段

例:

create  table student(id int primary key auto_increment,name varchar(20)  not null,age int default 17);

primary key 设置主键 auto_increment 设置自增 default 设置默认值

查看表的结构
格式: desc 表名;
格式2: show create table 表名; 查看创建表的sql语句

删除一个表
格式: drop table 表名;

修改表
1.修改表名
格式: rename table 旧表名 to 新表名;
2.修改表结构:
格式: alter table 表名 add|drop|change
1.添加一个新的字段
格式: alter table 表名 add 字段名 字段描述;
alter table student add phonenumber varchar(20);
2.删除一个字段
格式: alter table 表名 drop 字段名;
例: alter table student drop phone;

3.修改一个字段
格式: alter table 表名 change 要修改的字段名 新的字段名 新的字段类型描述;
例: alter table student change phonenumber phone varchar(20);

开发过程中尽量的不要修改已经有数据的字段 ,设计表的时候尽量设计一些预留字段

数据操作


即向表中插入数据
单条插入
格式 insert into 表名 values(值1,值2,。。。)
注:插入数据要与设计表中字段对应
或者 insert into 表名(字段名1,字段名3,) values(值1,值,3,。。。)
只将表名后括号内字段添加值

insert into student values(0,'张飞',28);
insert into student(age,name) values(25,'赵云');

添加多条

insert into student values (0,'刘备',33),(0,'马超',24),(0,'黄忠',50);


delete from 表名 where 条件

delete from student where id=1;


update 表名 set 字段名1=新值1,字段名2=新值2 where 条件

update student set  name='甘宁',age=28 where id=5;

查询操作。

查询语句
1.格式1: select 字段名1,字段名n,… from 表名 where 查询条件
格式2: select 字段名1 as 别名,字段名n,… from 表名 where 查询条件

1.select表示查询
2.select 后面是查询结果要显示的字段名
例: select name,age from student;
3. * 表示显示所有字段的数据
4.from 后面是表名,表示从那个表中查询
5.where 条件 表示以某个条件进行筛选
6.如果没有where条件,表示查询所有
7.字段名1 as 别名 可以给显示的字段名取个别名,方便查看

需求: 展示所有的学生的姓名和年龄?
select name as ‘姓名’,age as ‘年龄’ from student;

查询所有: select * from 表名

2.查询条件 表达式
1.比较运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
= 等于
!= 不等于
需求: 查询班上大于60岁的学生 ?
例: select * from student where age > 60;
需求: 查询班上小于等于55岁的学生 ?
select * from student where age <= 55;
需求: 查询班上不等于55岁的学生 ?
select * from student where age != 55;

2.逻辑运算符
且 and
或 or
非 not

需求: 查询班上大于55岁且小于70岁的学生 ?

select * from student where age>55 and age < 70;

需求: 查询班上除了北京的学生

   select * from student where not address = '北京';

3.模糊运算符
格式: … where 字段名 like ‘字符串’
任意字符: % 任意多个任意字符
_ 一个任意字符

需求: 查询姓张的同学?

select * from student where name  like '张%';

需求: 查询姓张的同学,且只有2个字?

select * from student where name  like '张_';

需求: 查询名字中包含 涵 字的同学

 insert into student values(0,"张涵",66,"北京",1),(0,"柳涵",55,"北京",1),(0,"涵涵涵",67,"西安",1),(0,"涵娃娃",78,"北京",1);
 select * from student where name like '%胖%';

4.范围运算符
成员运算符
格式1: … where 字段名 in (值1,值2,值3)
是否等于 () 中的某一个值

 格式2:   ... where  字段名  between 值1 and 值2   

  需求: 查询出住在北京或者 中南海或者.. 的同学 ?
   select * from student where address in  ('北京','中南海');

5.空值判断
格式1: … where 字段名 is null;
需求:将address为空的所有数据筛选出来?
… where address is null;

 格式2:   .... where  字段名 is not null;

需求:将address不为空的所有数据筛选出来?
…where address is not null;

6.运算符的优先级
1.以上运算符可以综合使用
2. 加上()

3.聚合函数
count(*) 统计查询结果的数量
max(字段名) 统计某个字段的最大值
min(字段名) 统计某个字段的最小值
avg(字段名) 统计某个字段的平均值
sum(字段名) 统计某个字段的总和

格式: select 聚合函数 from 表名 where 条件
需求: 查询该表总共有多少学生
select count(*) from student;
需求: 获取学生的最大年龄?
select max(age) from student;
需求: 统计年龄的平均值 ?
select avg(age) from student;

4.分组 group by
格式: select … from 表名 where 条件 group by 字段名

**统计某个字段有多少种值
需求: 查看有多少种地址 ?
select address from student group by address;
需求:查询每个地址有多少人?

select address,count(*) from student group by address;

需求: 再查询出中南海有多少人 ?

 select address,count(*)  from student  group by address having address = '中南海';

having 条件 表示在某个结果集上继续筛选

注意: where 与having 后面都是跟一个条件表示查询,
但是where是先筛选, having是在where的结果后再筛选

5.排序 order by
格式: select … from 表名 where 条件 order by 字段名 排序规则;
需求:查询所有学生,并按年龄排序(升序,默认的) ?
select * from student order by age desc;
降序: desc
升序asc 默认的

需求: 多个字段排序
格式: select … from 表名 where 条件 order by 字段名 排序规则,字段名2 排序规则;

6.分页:
格式: select … from 表名 where 条件 limit 值1,值2;
例: select * from student limit 1,4;

值1 表示的是分页的起始位置, 注意: 从 0 开始
值2 表示的是每一页的结果数量

获取第n页数据, 每一页4条数据
select * from student limit 4(n-1),4;

开启远程连接

创建新用户:CREATE USER ‘用户名’@‘host名称’ IDENTIFIED WITH mysql_native_password BY ‘密码’;

给新用户授权:GRANT ALL PRIVILEGES ON . TO ‘用户名’@‘host名称’;

刷新权限: FLUSH PRIVILEGES;

创建远程连接只需将host名称改为 0.0.0.0即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值