MySQL基本命令
Posted xjmlove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基本命令相关的知识,希望对你有一定的参考价值。
1 一、基本命令 2 1、启动服务: 3 说明:以管理员身份运行cmd 4 格式:net start 服务名称 5 示例:net start mysql56 6 7 2、停止服务: 8 说明:以管理员身份运行cmd 9 格式:net stop 服务名称 10 示例:net stop mysql56 11 12 3、连接数据库 13 格式:mysql -u 用户名 -p 14 示例:mysql -u root -p 15 输入密码:root 16 17 4、退出登录(断开连接) 18 quit or exit or \q 19 20 5、查看版本(连接后可执行) 21 示例:select version(); 22 23 6、显示当前时间(连接后可执行) 24 示例:select now(); 25 26 7、远程连接 27 格式:mysql -h ip地址 -u 用户名 -p 28 输入对方mysql密码 29 30 31 32 二、数据库操作 33 1、创建数据库 34 格式:create database 数据库名 charset utf8; 35 示例:create database sunck charset utf8; 36 2、删除数据库 37 格式:drop database 数据库名; 38 示例:drop database sunck; 39 3、切换数据库 40 格式:use 数据库名 41 示例:use sunck; 42 4、查看当前选择的数据库 43 select database(); 44 5、查看所有数据库 45 格式:show databases; 46 6、查看数据库的创建语句 47 格式:show create database 数据库名字; 48 示例:show create database sunck; 49 50 三、表操作 51 1、查看当前数据库所有表 52 show tables; 53 2、创建表 54 格式:create table 表名(列及类型) 55 说明:auto_increment自动增长 56 primary key主键 57 not null不为空 58 示例:create table student(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); 59 60 3、删除表 61 格式:drop table 表名 62 示例:drop table student; 63 4、查看表结构 64 格式:desc 表名 65 示例:desc student; 66 5、查看建表语句 67 格式:show create table 表名; 68 示例:show create table student; 69 6、重命名表名 70 格式:rename table 原表名 to 新表名; 71 示例:rename table student to studnets; 72 7、修改表 73 格式:alter table 表名 add|change|drop 列名 类型; 74 四、数据操作命令 75 76 1、增 77 a、全列插入 78 格式:insert into 表名 values(……); 79 说明:主键列是自动增长的,但是在全插入时需要占位,通常使用0,插入以后以实际数据为准 80 示例:insert into student values(0,‘tom‘,19,1,‘北京‘,0); 81 b、缺省插入 82 格式:insert into 表名(列1,列2,列3,……) values(值1,值2,3,……) 83 示例:insert into student (name,age,address) values(‘lilei‘,19,‘上海‘); 84 c、同时插入多条数据 85 格式:insert into 表名 values(...),(...),...; 86 示例:insert into student values(0,‘hanmeimei‘,18,0,‘北京‘,0),(0,‘poi‘,19,1,‘海南‘,0),(0,‘wenli‘,20,0,‘石家庄‘,0); 87 88 2、删 89 格式:delete from 表名 where 条件; 90 示例:delete from student where id=4; 91 注意:没有条件是全部删除,慎用 92 93 3、改 94 格式:update 表名 set 列1=值1,列2=值2,列3=值3,...where 条件 95 示例:update student set age=22 where id=3; 96 注意:没有条件是全部列修改,慎用 97 98 4、查 99 说明:查询表中所有数据 100 格式:select * from 表名 101 示例:select * from student; 102 103 五、查 104 1、基本语法 105 格式:select * from 表名; 106 说明: 107 a、from关键字后面是表名,表示数据来源这张表 108 b、select后面写表中的列名,如果是*表示在结果集中显示表中的所有列 109 c、在select后面的列名部分,可以使用as为列起别名,这个别名显示在结果集中 110 d、如果要查询多个列,之间使用逗号分隔 111 112 示例: 113 select * from student; 114 select name,age from student; 115 select name as a, age from student; 116 117 2、消除重复行 118 在select后面列前面使用distinct可以消除重复的行 119 示例:select distinct gender from student; 120 121 3、条件查询 122 a、语法 123 select * from 表名 where 条件 124 125 b、比较运算符 126 等于 = 127 大于 > 128 小于 < 129 大于等于 >= 130 小于等于 <= 131 不等于 !=或<> 132 需求:查询ID值大于1的所有数据 133 示例:select * from student where id>1; 134 135 c、逻辑运算符 136 and 并且 137 or 或者 138 not 非 139 需求:查询id大于2的女同学 140 示例:select * from student where id>2 and gender=0; 141 142 d、模糊查询 143 like 144 %表示任意多个字符 145 _表示一个任意字符 146 147 需求:查询姓习的同学 148 示例: 149 select * from student where name like ‘习%‘; 150 select * from student where name like ‘习_‘; 151 152 e、范围查询 153 in 表示在一个非连续范围内 154 between...and... 表示在一个连续范围内 155 156 需求:查询编号为5,6,7的学生 157 示例:select * from student where id in (5,6,7); 158 需求:查询编号为5到9的学生 159 示例:select * from student where id between 5 and 9; 160 161 f、空判断 162 注意:null与‘‘是不同 163 判断空:is null 164 判断非空:is not null 165 166 g、优先级 167 小括号,not 比较运算符,逻辑运算符 168 and 比 or 优先级高,如果同时出现并希望先选or,需要结合()来使用 169 170 4、聚合 171 为了快速得到统计数据,提供了五个聚合函数 172 a、count(*) 表示计算总行数,括号中可以写*和列名 173 b、max(列) 表示求此列的最大值 174 c、min(列) 表示求此列的最小值 175 d、sum(列) 表示求此列的和 176 e、avg(列) 表示求此列的平均值 177 178 需求:查询学生总数 179 示例:select count(*) from student; * or 列 180 需求:查询女生编号的最大值 181 示例:select max(id) from student where gender=0; 182 需求:查询女生编号的最小值 183 示例:select min(id) from student where gender=0; 184 需求:查询所有学生年龄和 185 示例:select sum(age) from student; 186 需求:查询所有学生平均值 187 示例:select avg(age) from student; 188 189 5、分组 190 按照字段分组,表示此字段相同数据会被放到一个集合中 191 分组后,只能查询出相同的数据列,对于有差异的数据列,无法显示在结果集中,可以对分组后的数据进行统计,做聚合运算 192 193 语法:select 列1,列2,聚合......from 表名 group by 列1,列2,列3,......; 194 需求:查询男女生总数 195 示例: 196 select gender,count(*) from student group by gender; 197 select name,gender,count(*) from student group by gender,age; 198 分组后的数据筛选: 199 select 列1,列2,聚合......from 表名 group by 列1,列2,列3,...... having 列1,...聚合.....; 200 示例:select gender,count(*) from student group by gender having gender; 201 202 where与having 的区别 203 where是对from后面指定的表进行筛选,属于对原始数据的筛选 204 having是对group by的结果进行筛选 205 206 6、排序 207 语法:select * from 表名 order by 列1 asc|desc,列2 asc|desc,...; 208 说明: 209 a、将数据按照列1进行排序,如果某些列1的值相同,则按照列2进行排序 210 b、默认按照从小到大的顺序排序 211 c、asc升序(默认) 212 d、desc降序 213 需求:按年龄排序 214 示例: 215 select * from student order by age; 216 select * from student order by age,id; 217 218 7、分页 219 语法:select * from limit start,count 220 说明:start 索引从0开始 221 示例: 222 select * from student limit 0,3; 223 select * from student limit 3,3; 224 select * from student where gender=1 limit 0,3; 225 226 六、关联 227 建表语句: 228 1、create table class(id int auto_increment primary key,name varchar(20)not null,stuNum int not null,); 229 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)); 230 231 232 插入一些数据: 233 insert into class values(0,‘python01‘,55),(0,‘python02‘,60),(0,‘python03‘,50),(0,‘python04‘,66); 234 insert into students values(0,‘tom‘,1,1); 235 insert into students values(0,‘jack‘,1,3); 236 insert into students values(0,‘lilei‘,1,1); 237 238 select * from students; 239 关联查询: 240 select students.name,class.name from class inner join students on class.id=students.id; 241 select students.name,class.name from class left join students on class.id=students.id; 242 select students.name,class.name from class right join students on class.id=students.id; 243 分类: 244 1、表A inner join 表B 245 表A 与 表B 匹配的行会出现在结果集中 246 2、表A left join 表B 247 表A 与 表B 匹配的行会出现在结果集中,外加表A中独有的数据,未对应的数据使用null填充 248 3、表A right join 表B 249 表A 与 表B 匹配的行会出现在结果集中,外加表B中独有的数据,未对应的数据使用null填充
以上是关于MySQL基本命令的主要内容,如果未能解决你的问题,请参考以下文章