MySQL增删改查常用命令

增:insert
删:delete
改:update
查:show或select

连接数据库

mysql -h[主机地址] -u[用户名] -p[用户密码]

修改密码

mysqladmin -u[用户名] -p[旧密码] -password[新密码]

增加新用户

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

windows启动MySQL

net start mysql

虚拟机启动MySQL

service start mysql

创建

  1. 创建数据库

create database 库名;

  1. 创建数据表(先use要操作的数据库):

create table 表名(字段名 字段类型(字段要求) 字段参数);

  1. 创建临时表

create temporary table 表名(字段名 字段类型(字段要求));

insert into 表名(id,name) values(0,'张三’)

删数据
delete from 表名;
delete from 表名 where id = 1;

删结构
drop database 库名;
drop table 表名;
alter table 表名 drop column 列名;

修改所有
updata 表名 set 列名=‘新的值,非数字加单引号’;
带条件修改
updata 表名 set 列名=‘新的值,非数字加单引号’ where id = 6;
对表重新命名
alter table 旧表名 rename 新表名;

查看数据库
show databases;
查看表结构(先指定数据库)
desc 表名
查询所有数据
select * from 表名;
带条件查询
select * from 表名 where 列名=条件值;
select * from 表名 where 列名 not like (like) ‘字符值’;
分页查询
select * from 表名 limit 每页数量 offset 偏移量;
查询时间
select now();
查询当前用户
select user();
查询数据库版本
select version();
查询当前使用的数据库
select database();

复制

复制表结构及数据到新表
CREATE TABLE 新表SELECT * FROM 旧表
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。

不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。

只复制表结构到新表
CREATE TABLE 新表SELECT * FROM 旧表WHERE 1=2
或CREATE TABLE 新表LIKE 旧表
复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表SELECT * FROM 旧表
复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,…) SELECT 字段1,字段2,… FROM 旧表
可以将表1结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE 1=2
可以将表1内容全部复制到表2
SELECT * INTO 表2 FROM 表1

备份

备份数据库:(将数据库test备份)
mysqldump -u[用户名] -p[密码] test>[备份的路径]
备份表格:(备份test数据库下的mytable表格)
mysqldump -u[用户名] -p[密码] test mytable>[备份的路径]
将备份数据导入到数据库:(导回test数据库)
mysql -u[用户名] -p[密码] test

你可能感兴趣的:(MySQL,数据库,mysql)