mysql常用命令行

mysql常用命令行

mysql常用命令
启动服务:–在F:\xamppdata\mysql\bin下执行–
net start MySQL

停止服务
net stop mysql

进入服务
mysql -u root -p
mysql [-h localhost] -u 用户名 -p [ ]

退出
exit;
quit;

创建数据库myTest
create database myTest;
create database php39 charset utf8;
create database myTest [ 字符编码 ] [ 排序规则 ];

删除数据库PHP39
drop database php39;
drop database if exists php39;(无论数据库是否存在都不会报错)

使用数据库
use mytest;

显示数据库
show databases

显示表格
show tables

创建表格users
create table users(id int,name char (5),age int);

往表格users插入数据
1)插入一行数据
insert into users(id,name,age) value(1,‘zhangsan’,18);
insert 【into 】表格名【 (字段1,字段2,字段3) 】value(字段1值,字段2值,字段3值);

insert into users set id=3,name=‘likui’,age=89;
insert into users set 字段1=字段1值,字段2=字段2值,字段3=字段3值;

2)插入多行数据
insert into my_users values (null,‘zhangsan’,26),(null,‘zhangsan’,27),(null,‘zhangsan’,28);
insert into my_users (id,name,age) values (null,‘zhangsan’,30),(null,‘zhangsan’,31),(null,‘zhangsan’,32);
insert 【 into 】表格名【(字段1,字段2,字段3)】 values (字段1值,字段2值,字段3值),(字段1值,字段2值,字段3值),(字段1值,字段2值,字段3值);

insert into my_users2 (id,name,age) select id,name,age from my_users_copy2;
insert 【into 】表格名【 (字段1,字段2,字段3) 】 select 字段1,字段2,字段3 from 表格2名;

显示表格users描述
desc users;

查看表格users9完整信息
show full columns from users9;

显示表格users中的数据
select * from users;

设置连接数据库编码
set names gbk; (cmd 默认是gbk)

备份数据库
mysqldump -h localhost -u root -p mytest > F:\xamppdata\mysql\copyDatabaseTest\mytestcopy.sql

用备份还原数据库
mysql -h localhost -u root -p mytest < F:\xamppdata\mysql\copyDatabaseTest\mytestcopy.sql

表格users 添加字段sex
alter table users add sex char(5) ;
alter table 表格名 add 字段名 字段类型 【字段属性】;

修改表格users 中的age字段为myage
alter table users change age myage int ;
alter table 表格名 change 字段名 改后字段名 改后字段类型 【改后字段属性】 ;

删除表格my_users
drop table my_users;

删除表格users中id=1的一行数据
delete from users where id=1;

删除表格users中的sex字段
alter table users drop sex;
alter table 表名 drop 字段名;

删除表格my_users_copy3 中数据(order by age:根据字段age 排序)
delete from my_users_copy3 where id>6 order by age limit 1;
delete from 表格名 【where 条件】 【order by 根据哪个字段排序】 【limit 限制删除的条数】;
一般使用格式:
delete from 表格名 where id>6;

表格users中字段myage添加普通索引
alter table users add key (myage);
alter table 表格名 add key (字段名);

表格users中字段id添加唯一索引
alter table users add unique key (id);
alter table 表格名 add unique key (字段名);

表格users中字段name添加主键索引
alter table users add primary key (name);
alter table 表格名 add primary key (字段名);

复制表格users的字段结构为新的表userstest
create table if not exists userstest like users;
create table 【if not exists】 复制后创建的表名 like 被复制表名;

重命名表格users为usersee
rename table users to usersee;

显示表格usersee详细创建信息
show create table usersee;

创建视图my_users_test(实质是一张表格)里面命名字段id_test,name_test 装载从my_users 中查找出来的字段id,name信息
create view my_users_test (id_test,name_test) as select id,name from my_users;
create view 视图表格名【 (字段名1,字段名2) 】 as select 字段名1,字段名2 from 表格名;

更新表格my_users_copy3 中数据
update my_users_copy3 set name=‘jiating’,age=99 where id>11 order by age limit 2;
update 表格名 set 字段1=字段1值,字段2=字段2值 【where 条件】 【order by根据哪个字段排序】 【limit 限制更新条数】;

加载TXT文件进表格my_users_copy4(注意设置纯编码utf8,系统默认TXT编码是utf8+BOM)详情https://www.mysqlzh.com/doc/126/255.html
load data infile ‘F:/xamppdata/mysql/bin/test.txt’ into table my_users_copy4;

将从表格my_users_copy4查出来的id起别名为id_test
select id as id_test from my_users_copy4;

distinct 去除筛选出来数据中的重复数据(默认是all,不消除,全部显示)
select distinct * from my_users_copy5;

查询数据通用表达式
select 【all|distinct】 字段或表达式列表 【from子句】 【where子句】 【group by 子句】【having 子句】【order by 子句】【limit 子句】

where子句运算符
算术运算符: + - * / %
比较运算符: > >= < <= = <>(不等于) == !=(不等于)
逻辑运算符:and or not
其他符号:is in between like
【and】 select * from my_users_copy5 where id=2 and age =18;
【or】 select * from my_users_copy5 where id=2 or age =18;
【not】 select * from my_users_copy5 where not(id=2);
【is】 select * from my_users_copy5 where id is not null;
【is】四种使用方式
【is null】 select * from my_users_copy5 where id is null;
【is not null】 select * from my_users_copy5 where id is not null;
【is true】 select * from my_users_copy5 where id is true;
【is false】 select * from my_users_copy5 where id is false;
【in】select * from my_users_copy5 where id in (1,2);//查找id为1和2的数据
【between 】 select * from my_users_copy5 where id between 1 and 2;//查找id位于1和2之间的数据
【like】 select * from my_users_copy5 where name like ‘%华为%’;//查找字段name中有‘华为’字符的所有数据行
select * from my_users_copy5 where name like ‘%华为’;//查找字段name中以‘华为’字符结尾的所有数据行
select * from my_users_copy5 where name like ‘华为%’;//查找字段name中以‘华为’字符开始的所有数据行
select * from my_users_copy5 where name like ‘华_’;//查找字段name中以‘华’开头并只有两个字符的所有数据行
select * from my_users_copy5 where name like ‘_华’;//查找字段name中以‘华’结尾并只有两个字符的所有数据行

把数据分组group by
select age as 年龄 from my_users_copy5 group by age;
select 分组后显示字段名 as 年龄 ,分组后显示字段2名 as 别名 from 表格名 group by 根据哪个字段分组;//分完组后,数据成组存在
【count()】计算这一分组中共有多少行数据
【max(age)】这一分组中字段age的最大值
【min(age)】这一分组中字段age的最小值
【avg(age)】这一分组中字段age的平均值
【sum(age) 】这一分组中字段age的总值
select age as 年龄 ,count(
) as 数量,max(age) as 最年长岁数,min(age) as 最小岁数 ,avg(age) as 平均值 ,sum(age) as 总岁数 from my_users_copy5 group by age;

用having对分成的各组进行筛选(having类似于where,where 是对原数据做判断;having是对分组后分成的各组做判断)
select age as 年龄 ,count() as 数量 from my_users_copy5 group by age having 数量 >=2;//根据age分组,生成的各组中字段为年龄,数量,再次把数量大于等于2的组给筛选出来;
【order by 字段 desc(降序) 】
【order by 字段 asc(升序) 】
【order by 字段1 asc,字段2 desc 】//在字段1基础上,若有字段1重复的行,则根据字段2规则排序
select age as 年龄 ,count(
) as 数量 from my_users_copy5 group by age having 数量 >=2 order by 年龄 desc;
【limit 2】//限制输出2行数据
select age as 年龄 ,count() as 数量 from my_users_copy5 group by age order by 年龄 desc limit 2;
【limit 0,2】//限制从第0行数据开始往后输出2行(即第一项-0和第二项-1)
select age as 年龄 ,count(
) as 数量 from my_users_copy5 group by age order by 年龄 desc limit 0,2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值