上面两篇博客讲了MySQL的安装、登录,密码重置,为接下来的MySQL命令学习做好了准备,现在开启MySQL命令学习之旅吧。
首先打开CMD,输入命令:mysql -u root -p 登录MySQL。
注意:MySQL命令终止符为分号 (;)
1.show databases;显示当前用户的数据库
2.use 数据库名; 选择数据库
3.create database 数据库名; 创建数据库
4. drop database 数据库名 ;删除数据库
5.create table if not exists `表名`()engine= InnoDB default charset=utf8;创建数据表
例:
create table if not exists `test_user`(
`test_id` int unsigned auto_increment,
`test_title` varchar(100) not null,
`test_name` varchar(100) not null,
`test_createDate` date, primary key (`test_id`)
)engine= InnoDB default charset=utf8;
6. drop table 表名; 删除数据表
7.show tables; 显示当前数据库的表
8.insert into table_name ( 字段1,字段2,...字段N ) values ( value1, value2,...valueN );为表插入数据
9. where是查询条件语句与select,update,delete一起用的
10.select 查询命令,select 读取一条或者多条记录
10.1 select * from 表名; 查看表里的所有数据 ,显示所有字段
10.2 select column_name,column_name from 表名 where 条件 limit n offset m ;查询满足条件的数据,只显示字段column_name,column_name
- 查询语句中可以使用一个或者多个表,表之间使用逗号(,)分割
- 用星号(*)来代替其他字段,select语句会返回表的所有字段数据
- 使用 where语句写查询条件。
- 使用limit 属性来设定返回的记录数。
- offset指定select语句查询数据的偏移量。默认偏移量为0。
例1:
select test_title from test_user where test_id>2 limit 3 offset 3;
查询结果只显示了字段:test_title
test_id>2的记录有3,4,5,6,7,8,9,10,11,然后offset为3,所以查询结果偏移3后,最后的数据为:6,7,8
例2:
select test_title from test_user where test_id>7 limit 3 offset 3;
查询结果只显示了字段:test_title
test_id>7的记录有8,9,10,11,然后offset为3,所以查询结果偏移3后,最后的数据为:11
11.update 表名 set field1=new-value1, field2=new-value2 where 条件; 更新满足条件的记录
例:update test_user set test_createDate="2018-11-02" where test_id<5;
12.delete from 表名 where 条件; 删除表里满足条件的记录
例:delete from test_user where id>6 && id<8; 删除第7条数据
13.like,like与where联合使用,表示包含的情况,其中like语句的%表示任意字符,如果like语句中没有用%,那么它就与等号没有差别
like "%my":表示以my结尾
like "%my%":表示中间或开始有my
like "my%":表示以my开始
like "my" :表示等于my
14.order by 字段 ASC |DESC ;这个命令一般跟select联合使用, 根据什么字段排序,默认情况下是升序
asc:升序
desc:降序
按拼音来排序:
14.1 如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 order by:
select * from 表名 order by 字段 ASC ;
14.2 如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:
select * from 表名 order by convert(runoob_title using gbk);
15. show columns from 表名; 查看表的字段定义格式
例:show columns from test_user;
16.alter
16.1 alter table 表名 add 新字段 数据类型;为数据表添加新的字段(为已经建好的表增加一列)
例:
alter table test_user add score int; 为表test_user,添加类型为int的新字段score;
alter table test_user add score int first;为表test_user,添加类型为int的新字段score,并且放在第一位
alter table test_user add score int after name; 添加类型为int的新字段score,并且放在字段name的后面
16.2 alter table 表名 drop 字段;删除数据表的字段(为已经建好的表删除一列)
例:alter table test_user drop score;
16.3 alter table 表名 modify 字段 新类型;修改已有字段的类型
例:alter table test_user modify test_title varchar(200) not null default "hello";
修改表test_user的字段test_title 的类型为varchar(200) ,并且不能为null,默认值为hello
16.4 alter table 表名 change 旧字段 新字段 新字段数据类型;更改旧字段的名称及类型
例:alter table test_user change score middle_score int;
16.5 alter table 表名 engine=myisam;修改存储引擎为myisam
16.6 alter table 表名 drop foreign key 键名;删除外键约束
16.7 alter table 表名 modify 字段1 数据类型 first|after 字段2;
修改字段的相对位置,字段1为想要修改的字段,类型为该字段原来类型,first和after二选一,first放在第一位,after放在字段2后面
16.8 alter table 表名 alter 字段 set default 值;为数据表字段设置默认值;
例:alter table test_user alter score set default 0;表test_user的score字段 设置默认值0;
16.9 alter table 表名 rename to 新的表名;更改数据表的名字
1. show databases; 显示当前用户的数据库
2. use 数据库名; 选择数据库
3. create database 数据库名; 创建数据库
4. drop database 数据库名 ;删除数据库
5.create table if not exists `test_user`()engine= InnoDB default charset=utf8;创建数据表
create table if not exists `test_user`(
`test_id` int unsigned auto_increment,
`test_title` varchar(100) not null,
`test_name` varchar(100) not null,
`test_createDate` date, primary key (`test_id`)
)engine= InnoDB default charset=utf8;
6. drop table 表名; 删除数据表
7.show tables; 显示当前数据库的表
8.insert into table_name ( field1, field2,...fieldN ) values ( value1, value2,...valueN );为表插入数据
9. where是查询条件语句与select,update,delete一起用的
10.select 查询命令,select 读取一条或者多条记录
select * from 表名; 查看表里的所有数据 ,显示所有字段
select column_name,column_name from 表名 where 条件 limit n offset m ;查询满足条件的数据,只显示字段column_name,column_name
- 查询语句中可以使用一个或者多个表,表之间使用逗号(,)分割
- 用星号(*)来代替其他字段,select语句会返回表的所有字段数据
- 使用 where语句写查询条件。
- 使用limit 属性来设定返回的记录数。
- offset指定select语句查询数据的偏移量。默认偏移量为0。
select test_title from test_user where test_id>2 limit 3 offset 3;
查询结果只显示了字段:test_title
test_id>2的记录有3,4,5,6,7,8,9,10,11,然后offset为3,所以查询结果偏移3后,最后的数据为:6,7,8
select test_title from test_user where test_id>7 limit 3 offset 3;
查询结果只显示了字段:test_title
test_id>7的记录有8,9,10,11,然后offset为3,所以查询结果偏移3后,最后的数据为:11
11.update 表名 set field1=new-value1, field2=new-value2 where 条件; 更新满足条件的记录
update test_user set test_createDate="2018-11-02" where test_id<5;
12.delete from 表名 where 条件; 删除表里满足条件的记录
delete from test_user where id>6 && id<8; 删除第7条数据
13.like,like与where联合使用,表示包含的情况,其中like语句的%表示任意字符,如果like语句中没有用%,那么它就与等号没有差别
like "%my":表示以my结尾
like "%my%":表示中间或开始有my
like "my%":表示以my开始
like "my" :表示等于my
查询结果如下:
14.order by 字段 ASC |DESC ;这个命令一般跟select联合使用, 根据什么字段排序,默认情况下是升序
asc:升序
desc:降序
按拼音来排序:
14.1 如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 order by:
select * from 表名 order by 字段 ASC ;
14.2 如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:
select * from 表名 order by convert(runoob_title using gbk);
15. alter table 表名 add 新字段 数据类型;为数据表添加新的字段(为已经建好的表增加一列)
alter table test_user add score int;
16.alter table 表名 drop 字段;删除数据表的字段(为已经建好的表删除一列)
alter table test_user drop score;
17. alter table 表名 modify 字段 新类型;修改已有字段的类型
alter table test_user modify test_title varchar(200);
18. show columns from 表名; 查看表的字段定义格式
show columns from test_user;