一,基本命令
1,启动服务
以管理员身份运行
格式:net start 服务名称
实例:net start Xvhongye
2,停止服务
说明:以管理员身份运行cmd
格式:net stop 服务名称
实例:net stop Xvhongye
3,连接数据
格式:mysql -u 用户名 -p
实例:mysql -u root -p
输入密码(安装时设置的)
4,退出登录(断开链接)
quit或exit
5,查看版本(链接后执行的)
实例:select version();
6,显示当前时间(连接后执行)
实例:select now();
7,远程连接
格式:mysql -h ip地址 -u 用户名 -p
输入对方mysql的密码
二,数据库操作
1,创建数据库
格式:create database 数据库名 charset=utf8;
实例:
2,删除数据
格式:drop database 数据库名;
3,切换数据库
格式:use 数据库名
4,查看当前选择的数据库
格式:select database();
1、显示数据库列表。
show databases;
三,表操作
1,查看当前数据库中的所有表
show tables;
2,创建表
格式:create table 表名(列及类型);
说明:auto_increment是自增长的意思
实例:create table Car(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 表名;
实例:dro table Car;
4,查看表结构
结构:desc 表名
5,查看建表语句
格式:show create table 表名;
6,重命名表名
格式:rename table 原表名 to 新表名
7,修改表
格式:alter table 表名 add|change|drop 列名 类型;
四,数据操作
1,增
a,全列插入
格式:insert into 表名 values(....)
b,缺省插入
格式:insert into 表名(列1,列2,....) values(值1,值2)
c,同时插入多条数据
格式:insert into 表名 values(...),(....),...
2,删
格式:delete from 表名 where 条件
3,改
格式:updata 表名 set 列1=值1,列2=值2,....where 条件
实例:updata student set age=16 where...
4,查
格式:select * from 表名
五,查
2,消除重复行
在select后面列前面使用distinct可以消除重复的行
实例:select distinct gender from student;
3,条件查询
逻辑运算符
and
or
not
需求:id>7的女同学
select * from student where id>7 and gender=0
模糊查询
like
%表示任意多个任意字符
——表示一个任意字符
范围查询
in 表示在一个非连续的范围内
between...and... 表示在一个连续的范围内
需求:查询编号为8,9,10的学生
select * from student where id in (8,9,10);
需求:查询编号为6-10的学生
select * from student where id between 6 and 8;
空判断
注意:null与“”是不同
判断空:is null
判断非空:is not null
4.聚合
cout(*)
max(列)
min(列)
sum(列)
avg(列)
5,分组
按照字段分组,表示此字段相同的数据会被放到一个集合中。
分组后,只能查询出相同的数据列,对于有差异的数据列无法显示在结果集中
可以对分组后的数据进行统计,做聚合计算
语法:select 列1,列2,聚合....from 表名 group by 列1,列2.... having 列1,列2...,聚合...;
需求:查询男女生总数
实例:select gender,count(*) from student group by gender;
where 与having的区别:
where是对from后面指定的表进行筛选,属于对原始数据的筛选
having是对group by的筛选
6,排序
语法:select * from 表名 order by 列1 asc|desc,列2 asc|desc,....;
asc降序
desc升序
7,分页
语法:select * from 表名 limit start,count;
说明:start索引从0开始
count查看的数量
六,关联
建表语句
1,create table class(id int auto_increment primary key,name varchar(20) not null,stuNum int not null)
2,create table students(id int auto_increment primary key,name varchar(20) not null,gender bit default 1,classid int not null,foreign key(classid) references class(id));