Mysql(学习笔记)

一,基本命令
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));

你可能感兴趣的:(Mysql(学习笔记))