首页 > 数据库技术 > 详细

mysql的常用命令

时间:2021-06-23 09:27:58      阅读:24      评论:0      收藏:0      [点我收藏+]

 Mysql常用命令

在windows命令提示行下改密码Mysqldamin -u root -proot password   新密码,新密码

mysql -uroot -proot             登陆

在mysql里面 修改密码alter user user() identified by ‘123‘;  把root密码改成123

Mysql -h 127.0.0.1 -u root -p root  指定ip登陆

Select database();  查看当前数据库

Select version();    查看当前数据库版本

Select now();      查看当前时间

Select user();      查看当前用户

Show databases;   查看所有数据库

数据定义语言 ddl     创建库, 修改库(只能修改编码属性), 删除库

创建数据库   create database

Create database test;  创建数据库

Create database if not exists test1 创建数据库,如果不存在的话创建

Create database if not exists test2 character set utf8  给数据库指定字符集为utf8

修改数据库  alter  database

Alter database test1 character set latin1; 修改test1字符集为拉丁语

Use test1  使用test1数据库

show variables like ‘character%‘; 查看test1数据库字符集,已经为拉丁语 默认是utf8

删除数据库 drop database test1   删除数据库test1

数据库 控制语言dml       创建表 , 修改表, 更新表,删除表

创建表

CREATE TABLE IF NOT EXISTS test(

   `t_id` INT UNSIGNED AUTO_INCREMENT,

   `t_title` VARCHAR(100) NOT NULL,

   `t_author` VARCHAR(40) NOT NULL,

   `t_date` DATE,

   PRIMARY KEY ( `t_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;

ENGINE 设置存储引擎,CHARSET 设置编码。

1、查看数据库表

Show tables from reader;      如果查询当前数据库中的表用show tables

2、查看数据表基本结构    desc 表名

Show columns from 表名; 或者用desc 表名;

3、查看表详细结构语句,可以用来显示数据表的创建语句

Show create table 表名;

alter修改列,只能修改列的属性包括字符类型,是否为空,是否唯一和键的约束。

添加列       alter table reader add email varchar(30)

修改列名     alter table reader change email msg varchar(20);  用first 和after指定放哪

修改列属性   alter table reader modify email varchar(30) email varchar(25)

删除列       alter table reader drop email2

修改表名     alter table reader rename to bookinfo;

添加外键     alter table emp add foreign key (主表列名) refreences dept (从表列名)

删除表  drop table t1       drop table if exists table   如果存在就删除,不存在就不报错

表分区,意思就是把一张表分为多个分区,分区块也可以在不同的磁盘,单都属于这张表。

分区表在查询比较大的表时,这样比较快

检查系统是否支持表分区   mysql>show plugins 显示 partition  active 表示支持

创建表,指定分区 ,range 代表范围  应用于非常大的表

mysql> create table bookinfo(

    -> book_id int,

    -> book_name varchar(20)

    -> )

    -> partition by range (book_id)(

    -> partition p1 values less than(20109999),

-> partition p2 values less than(20159999)

    -> );

Query OK, 0 rows affected (0.07 sec)

查询时用 select * from bookinfo partition(p1);

Update 更新表 更新表里面的值

Update test1 set name=‘tom’ where id=1;

事务。在做删除操作是先开启事务,

删除表         drop>truncate>delete   删除的效果;

Delete from 表 where 条件   一行一行的删

Delete from 表

Truncate 表名, 直接清空表    不支持回滚

Drop  表名 直接删除整个表

Dml 支持事务

开启事务  begin,或者用start transaction 开启事务   

事务必须以commit   或rollback结束;

select * from table    查询表

Distinct 去重   order by  一定要在最后才能用   默认升序asc   降序desc

Where 条件查询   >    <    >=     <=     <>   in     and,   or     not  

例;查询分数为80,90的人呢   select * from 表 where 分数 in(80,90);

聚合函数一定要用()    Count    sum    avg      max      min

分组函数 group by       having    后面还能用聚合函数

Where 后面不能放聚合函数,而having后面能用

约束

主键约束 primary key    唯一约束 unique   非空约束 not null  

主键自增长auto_increment  只支持int 和bigint 类型  (先设置主键才能设置自增长)

Alter table 表名 modify id int auto_increment,primary key

外键约束 foreign key (列名)references 主表名(列名)

外键在的表为从表,a为从表,b为主表 constraint 指定个外键名为wj

mysql> alter table a add constraint wj foreign key a(bno) references b(bno);

Query OK, 4 rows affected (0.06 sec)

Records: 4  Duplicates: 0  Warnings: 0

建表方式1对1    1对多,    多对多

在多方添加字段,作为外键,指向1方的主键;

笛卡尔积    select * from 表1, 表2

内连接 select * from emp inner join dept on emp.dno=dept.did;

Select * from emp e, dept d where e.dno=d.did;

外连接:左外连接 select * from emp left outer join dept on emp.dno=dept.did;    常用左外连接

右外连接;select * from emp right outer join dept on emp.dno=dept.did;          outer可以省略

内连接和外连接的区别

内连接是查询的是2张表交集的数据,主外键所关联的数据

左外连接查询的是左表中所有数据和2张表主外键关联的数据

右外连接查询的是右表中所有数据和2张表主外键关联的数据

 

Mysql 备份数据库     主要用输入输出字符,备份>     还原<

在没有进入sql时,用命令行mysqldump -u用户名 -p > 文件路径备份名  然后输入密码

C:\Users\Administrator>mysqldump -uroot -p test > d:/test.sql      输出到d盘根目录

Enter password: ****

备份表

C:\Users\Administrator>mysqldump -uroot -p test emp >d:/emp.sql

Enter password: ****

数据库还原

在还原是必须先创建数据库,然后再还原,可以指定数据库名字

Mysql -uroot -p test < d:/etst.sql

表还原  在指定的库里用 source d:/test.sql

如果显示为乱码,输入命令 set names utf8

 

mysql的常用命令

原文:https://www.cnblogs.com/vipwg/p/14921040.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!