Mysql启动方法
- 以管理员模式运行CMD
- net start mysql
- mysql -u root -p
- 输入密码回车
Mysql的一些基本命令脚本
1. 基本命令
- 启动服务:
说明:以管理员身份运行cmd
格式:net start 服务名称
示例:net start mysql - 停止服务
说明:以管理员身份运行cmd
格式:net stop 服务名称
示例:net stop mysql - 连接数据
格式:mysql -u 用户名 -p;
示例:mysql -u root -p;
输入密码(安装时设置的) - 退出登陆(断开连接)
exit或者quit - 查看版本
示例:select version(); - 显示当前时间
示例:select now(); - 远程连接,连接对方的mysql
格式:mysql -h ip地址 -u 用户名 -p;
输入对方的mysql密码:******
2. 数据库操作命令
- 创建数据库
格式:create database 数据库名 charset=utf8;
示例:create database **** charset=utf8;- 删除数据库
格式:drop database 数据库名
示例:drop database ****; - 切换数据库
格式:use 数据库名
示例:use ****; - 查看当前选择的数据库
select database();
- 删除数据库
3. 表操作命令
1. 查看当前数据库中所有表
格式:show tables;
2. 创建表
格式:create table 表名(列及类型)
说明:auto_increment表明自增长,primary key 表示主键,not null 表示不为空
示例:create table teacher(id int auto_increment primary key,name varchar(20) not null,age int not null,gender bit default 1,address varchar(20),isDelete bit default 0);
3. 删除表
格式:drop table 表名;
示例:drop table student;
4. 查看表结构
格式:desc 表名;
示例:desc teacher; //一般来讲在研发的时候表的结构就定死了,之后表的结构就不能修改了。
//因此在以后设置表结构的时候需要能够预留几个
5. 查看建表语句
格式:show create table 表名
示例:show create table teacher;
6. 重命名表
格式:rename table 原表名 to 新表名
示例:rename table car to newcar;
7. 修改表结构
格式:alter table 表名 add|change|drop 列名 类型;
4. 数据操作
1. 增
a. 全列插入
格式:insert into 表名 values(...)
说明:主键列是自动增长的,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准。
示例:insert into teacher values(0,"TOM",19,1,"BeiJing",0);
b. 缺省插入
格式:insert into 表名(列1,列2,...) values(值1,值2,...);
示例:insert into teacher (name,age,address) values("lilei",19,"ShangHai");
c. 同时插入多条数据
格式:insert into 表名 values(...),(...),...
示例:insert into teacher values(0,"hanmeimei",19,0,"BeiJing",0),(0,"poi",22,1,"HaiNan",0),(0,"wenli",20,0,"石家庄",0);
2. 删
格式:delete from 表名 where 条件;#如果什么都不写,那就全部都删除了,因此常常根据条件来删除。
示例:delete from teacher where id=4;
3. 改
格式:update 表名 set 列1=值1,列2=值2,... where 条件
示例:update student set age=16 where id=2;
注意:如果没有条件是全部列都修改,慎用。
4. 查
操作数据库的主要工作都在查身上,因为查数据往往都要以各种各样的形式把它查出来。
全部查询:查询表中的全部数据
格式:select * from 表名;
示例:select * from teacher;
1. 基本语法
格式:select * from 表名;
说明:
a.from 关键字后面是表名,表示数据来源于这张表。
b.select后写表中的列名,如果是*表示在结果集中显示所有列
c.在select后边的列名部分,可以使用as为列明起别名,这个别名显示在结果集中
d.如果要查询多个列,之间使用逗号分隔。
示例:select name ,age from teacher;
select name as a ,age from teacher;
2. 消除重复行
在select后边的列的前面使用distinct可以消除重复的行
示例:select distinct age from student;
3. 条件查询
a.语法
select * from 表名 where 条件
b.比较运算符
等于 =
大于 >
小于 <
大于等于 >=
小于等于 <=
不等于 !=
需求:查询年龄大于18的所有数据
示例:select * from teacher where age>18;
c.逻辑运算符
and
or
not
需求:查询年龄大于18的女同学
示例:select * from teacher where age>18 and gender=0;
d.模糊查询
insert into teacher values(0,"小明",65,1,"北京",0);
insert into teacher values(0,"小红",66,1,"BeiJing",0);
like
%表示任意多个任意字符
_表示一个任意字符 # 相当于正则里面的
需求:查询姓小的老师
示例:select * from teacher where name like "小%";
e.空判断
insert into teacher (name,age) values("特朗普",70);
注意: null 与 "" 是不同的
判断空: is null
判断非空: is not null
需求:查询没有地址的同学
示例: select * from teacher where address is null;
f.范围查询
in 表示在一个非连续的范围内
between...and... 表示在一个连续的范围内
需求:查询编号为5,7,8的学生
示例:select * from teacher where id in (5,7,8);
需求:查询编号为6到8的老师
示例:select * from teacher where id between 6 and 8;
g.优先级
小括号: not 比较运算符 ,逻辑运算符
and 比 or 的优先级高,如果同时出现并希望先选or,需要结合括号来使用。
4. 聚合
为了快速得到统计的数据,提供了5个聚合函数
a.count(*) 表示计算总行数,括号中可以写*和列名
b.max(列) 表示求此列的最大值
c.min(列) 表示求此列的最小值
d.sum(列) 表示求此列的和
e.avg(列) 表示求此列的平均值
需求:查询学生总数
示例:select count(*) from teacher;
需求:查询女生编号最大值
示例:select max(id) from teacher where gender=0;
需求:查询女生编号最小值
示例:select min(id) from teacher where gender=0;
需求:查询女生的年龄和
示例:select sum(age) from teacher where gender=0;
需求:求所有学生年龄的平均值
示例:select avg(age) from teacher;
5. 分组
按照字段分组,表示此字段相同的数据会被放到一个集合中。分组后只能查询出相同数据的列。对于有差异的数据列,无法显示在结果集中。可以对分组后的数据进行统计做聚合运算。
语法: select 列1,列2,聚合... from 表名 group by 列1,列2,列3... having 列1,列2...聚合...
需求: 查询男女生总数
示例: select gender,count(*) from teacher group by gender;
其实分组的目的就是为了聚合。
where是对from后面指定的表进行筛选,这是对原始数据的筛选,having是对group by 的结果集进行筛选。
6. 排序
语法: select * from 表名 order by 列1 asc|desc,列2 asc|desc, ...
说明:
a. 将数据按照列1进行排序,如果某些列1的值相同,则按照列2进行排序,以此类推。
b. 默认按照从小到大的数据进行排序
c. asc表示升序,desc表示降序。
示例:select * from teacher order by age;
示例:select * from teacher where isDelete=0 order by age desc;
7. 分页
语法:select * from 表名 limit start,count;
说明:一般来讲数据量太大了之后会按页去看。
示例:select * from teacher limit 0,3;
select * from teacher limit 3,3;
select * from teacher where gender=0 limit 0,3;
看Python视频教程整理下来的关于MySql笔记,供自己和大家一起使用。
Python视频教程链接地址:http://www.iqiyi.com/a_19rrgy9sh9.html