0%

MYSQL命令

一 、DDL(对数据库和表的操作)

  1. mysql -h主机地址 -u用户名 -p密码

    连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。

       (例:mysql -h110.110.110.110 -Uroot -P123456)
       (注:u与root可以不用加空格,其它也一样)

  2. exit 退出MYSQL

  3. mysqladmin -u用户名 -p旧密码 password 新密码 修改密码

  4. grant select on 数据库.* to 用户名@登录主机 identified by “密 码”;增加新用户。

    (注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

  5. show databases; 显示数据库列表。

(刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。)
  1. show tables; 显示库中的数据表
  2. describe 表名; 显示数据表的结构
  3. delete from 表名; 将表中记录清空
  4. select * from 表名; 显示表中的记录
  5. mysqldump –opt school>school.bbb 备份数据库:
(命令在DOS的mysqlin目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
1. 创建数据库和表

create table 表名 (字段设定列表);
create database 库名;

2. 删除数据库和表

drop database 库名;
drop table 表名;

3. 选择数据库

use mysql;

4. 创建新表

create table 表名 (字段设定列表);
create table tabname(
字段名1 类型,
字段名2 类型,
字段名3 类型,…);
例:CREATE TABLE student(
stu_id INT,
stu_name VARCHAR(10),
stu_sex VARCHAR(1),
stu_age INT,
stu_class VARCHAR(20));

5. 根据已有的表创建新表

A:create table 新表名 like 旧表名(使用旧表创建新表)
B:create table 新表名 as select 列名1,列名2… from 旧表名 definition only

6. 删除表

drop table tabname;

7. 显示表的属性信息

desc 表名;

8. 增加一个列名

alter table 表名 add 列名 类型
指定列名后面添加列名
alter table 表名 add 已有列名 after 列名 类型
first:第一个,before:前一个,end:最后

9. 删除一个列名

alter table 表名 drop 列名

10. 修改一个列名

alter table 表名 change 旧列名 新列名 类型

11. 修改类型

alter table 表名 modify 列名(已有) 新的类型

12. 添加主键

Alter table 表名 add primary key(列名)
删除主键:Alter table 表名 drop primary key(列名)

13. 添加外键

alter table 表名 add foreign key(列名) references 表名(主键)
删除外键:需要找到外键特有的名称

14. 约束类型

①not null:非空约束
②unique:唯一约束
③primary key:主键
④foreign key:外键
⑤auto_increment:自增长
⑥default:设置默认值 例:default ‘值’

二、DQL(查询语句)

关键字:

  1. or:或
  2. and:和
  3. having:分组后的附加条件
  4. group by:分组
  5. order by:排序:asc:正序,desc:倒序
  6. in:存在于某个值中
  7. not in:不存在与某个值中
  8. inner join … on链接多表
  9. left join … on:左外连接
  10. right join … on:右外连接
  11. left(right,inner) out join … on:去重
  12. count:计数
  13. AVG:平均值
  14. sum:求和
  15. max:最大值
  16. min:最小值
  17. like ‘关键字%’:取含有关键字的值
  18. distinct:去重
  19. round:四舍五入
  20. where 1=1:全选
  21. where 1=2:全不选
  22. limit 1,5:从第二行开始显示5条数据
  23. top 10:select top 10 * from 表名:显示前十条数据
  24. newid():随机
1. 选择查询:

select * from 表名 where 范围

2.完全查询:

select * from 表名

3.模糊查询:

select * from 表名 where 列名 like ‘%value%’(查询包含value的值)

4.排序查询(倒序,默认为正序):

select * from 表名 order by 列名 desc

5.计数查询:

select count as 别名 from 表名

6.求和查询:

select sum(field) as 别名 from 表名

7.平均值查询:

select avg(filed) as 别名 from 表名

8.最大值查询:

select max(filed) as 别名 from 表名

9.最小值查询:

select min(filed) as 别名 from 表名

10.四舍五入查询:

select round(min(filed),要保留的小数位数) as 别名 from 表名

11.去重查询:

select distinct 列名 from 表名

12.分组查询:

select * from 表名 group by 列名

13.多条件查询:

select * from 表名 where 列名=‘范围’ and 列名=‘范围’

14.不确定条件查询:

select * from 表名 where 列名=‘范围’ or 列名=‘范围’

15.多条件分组求值查询:

select 列名,min(filed)from 表名 where 列名=‘范围’ group by 列名 having sum(列名)

16.子查询(子查询的结果作为主查询的条件):

select * from 表名 where=(select id from 表名 where 列名=‘范围’)

17.连表查询(内连接):

select * from 表名 inner join 表名 on 主键=外键(必须有主外键)

18.连表查询(内连接)(去重):

select * from 表名 inner out join 表名 on 主键=外键(必须有主外键)
注:内连接只显示相关联的数据

19.连表查询(左外连接)(显示左表的全部信息和右表相关联的信息):

select * from 表名 left join 表名 on 主键=外键(必须有主外键)

20.连表查询(右外连接)(显示右表的全部信息和左表相关联的信息):

select * from 表名 right join 表名 on 主键=外键(必须有主外键)

21.连表查询(全外连接)(显示两个表中的所有记录):

select * from 表名 full/cross join 表名 on 主键=外键(必须有主外键)

22.说明:几个高级查询运算词
A:union(结合两个结果表并消除其中的重复行而派生出另一个表)
例:select name from 表名1 union select name from 表名2(去除name的重    复行)
B:except(通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行        而派生出一个结果表)
C:intersect(通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派    生出一个结果表)
注:当这三个运算符与all一起使用时不消除重复行

三、DML(数据操作语句:插入、修改、删除)

  1. 数据插入

完全插入:insert into 表名 values(值1,值2,值3,…)
选择插入:insert into 表名(列名1,列名2,列名,3…) values(值1,值2,值3,…)
批量插入:insert into 表名 values(值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…)…
注1:完全插入可以省略列名,但是值必须包含所有字段,批量插入类同
注2:选择插入必须选择需要插入的字段,选择对应字段的值,批量插入类同
2. 修改语句

update 表名 set 列名=‘值’ where 列名=‘范围’
where 1=1(全选)
where 1=2(全不选)
注:不加where条件为修改所有指定列的值
3. 删除语句

delete from 表名 where 列名=‘范围’

 注:不加where条件为删除所有的值
Emptybottle Authorization

欢迎关注我的其它发布渠道