MySQL数据库常用操作命令
-
登录mysql数据库:mysql -uuser -ppassword。user表示用户名、password表示登录密码。
-
创建数据库:create database cainiao;cainiao表示创建的数据库名称。
-
删除数据库:drop database cainiao;菜鸟表示删除的数据库名称。
-
查询所有数据库:show databases;
-
查询当前数据库:select database();
-
切换数据库:use cainiao;cainiao表示需要切换或者进入该数据的名称。
-
查询数据库的表:show tables;查询数据库所有的表
-
查看数据库当前存在的用户:select user from mysql.user;
-
创建数据表:
create table partner(
pt_id int not null auto_increment,
pt_name varchar(40) not null,
pt_phone varchar(50) not null,
primary key(pt_id)
)engine=innodb default charset=utf8;
-
查询表结构:desc partner; partner表示表名
-
删除数据表:drop table cainiao;cainiao为需要删除的表名
-
插入数据:insert into partner(pt_name,pt_phone) values("小军","110");
-
插入多行数据:insert into partner(pt_name,pt_phone) values("小董","122"),("小白","120");
-
查询表数据:select * from partner;或者 select pt_name, pt_phone from partner;
-
修改(更新)表数据:update partner set pt_name="小动",pt_phone="10086" where pt_name="小董";
-
删除表数据:delete from partner where pt_name="xx";
-
开启一个事务:begin;
-
提交一个事务:commit;
-
回滚一个事物:rollback;事物一旦提交(commit),数据则永久存入数据库,不能操作回滚;rollback只能回滚未提交的事物。
-
设置事务是否自动提交:set autocommit=0;禁止自动提交;set autocommit=1;开启自动提交。
-
声明一个使用保留点:savepoint savename;声明一个savename
-
事务回滚到使用保留点:rollback to savename;回滚到savename点,savename之前的执行不受影响。(俗称:嵌套事务,事务中嵌套一个事物)
-
多表连接:
- inner join(on):内连接:查询出连接表的所有数据 //select * from table_01 inner join table_01 on table_01.字段1=table_02.字段2
- left join(on):左连接:获取左表的所有记录
- right join(on):右连接:获取右表的所有记录
-
数据排序:order by field1 asc(desc);asc表示升序,不填默认asc;desc表示降序。
-
多重数据排序:order by field1 asc[desc],field2 desc,field3 asc;
-
数据分组:group by field1;
-
修改表的数据结构:alter
- 删除某个字段:alter table alter_test drop a_05;
- 添加一个字段:alter table alter_test add a_05 varchar(40);
- 修改字段名称:alter table alter_test change a_05 c_05 varchar(50);
- 修改字段默认值:alter table alter_test alter c_05 set default "空值";
- 修改数据表名称:alter table alter_test rename to test_alter;