时间:2019-11-25来源:系统城作者:电脑系统城
本文实例讲述了mysql命令行脚本执行操作。分享给大家供大家参考,具体如下:
命令行连接
在工作中主要使用命令操作方式,要求熟练编写
打开终端,运行命令
?| 1 | mysql -uroot -p |
回车后输入密码,当前设置的密码为mysql
连接成功后如下图

退出登录
quit 和 exit
或
ctrl+d
登录成功后,输入如下命令查看效果
查看版本:select version();
显示当前时间:select now();
修改输入提示符
?| 1 2 3 4 |
prompt python>1\D 完整日期\U 使用用户 |
数据库
查看所有数据库
?| 1 | show databases; |
使用数据库
?| 1 | use 数据库名; |
查看当前使用的数据库
?| 1 | select database(); |
创建数据库
?| 1 | create database 数据库名 charset=utf8; |
例:
?| 1 | create database python charset=utf8; |
删除数据库
?| 1 | drop database 数据库名; |
例:
?| 1 | drop database python; |
数据表
查看当前数据库中所有表
?| 1 | show tables; |
创建表
auto_increment表示自动增长
?| 1 2 3 4 5 6 7 8 |
CREATE TABLE table_name( column1 datatype contrai, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY(one or more columns)); |
例:创建班级表
?| 1 2 3 4 |
create table classes( id int unsigned auto_increment primary key not null, name varchar(10)); |
例:创建学生表
?| 1 2 3 4 5 6 7 8 |
create table students( id int unsigned primary key auto_increment not null, name varchar(20) default '', age tinyint unsigned default 0, height decimal(5,2), gender enum('男','女','人妖','保密'), cls_id int unsigned default 0) |
修改表-添加字段
?| 1 | alter table 表名 add 列名 类型; |
例:
?| 1 | alter table students add birthday datetime; |
修改表-修改字段:重命名版
?| 1 | alter table 表名 change 原名 新名 类型及约束; |
例:
?| 1 | alter table students change birthday birth datetime not null; |
修改表-修改字段:不重命名版
?| 1 | alter table 表名 modify 列名 类型及约束; |
例:
?| 1 | alter table students modify birth date not null; |
修改表-删除字段
?| 1 | alter table 表名 drop 列名; |
例:
?| 1 | alter table students drop birthday; |
删除表
?| 1 | drop table 表名; |
例:
?| 1 | drop table students; |
查看表的创建语句
?| 1 | show create table 表名; |
例:
?| 1 | show create table classes; |
增删改查(curd)
curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)
查询基本使用
查询所有列
?| 1 | select * from 表名; |
例:
?| 1 | select * from classes; |
查询指定列
可以使用as为列或表指定别名
?| 1 | select 列1,列2,... from 表名; |
例:
?| 1 | select id,name from classes; |
增加
格式:INSERT [INTO] tb_name [(col_name,…)] {VALUES | VALUE} ({expr | DEFAULT},…),(…),…
说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
全列插入:值的顺序与表中字段的顺序对应
?| 1 | insert into 表名 values(...) |
例:
?| 1 | insert into students values(0,'郭靖‘,1,'蒙古','2016-1-2'); |
部分列插入:值的顺序与给出的列顺序对应
?| 1 | insert into 表名(列1,...) values(值1,...) |
例:
?| 1 | insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2016-3-2'); |
上面的语句一次可以向表中插入一行数据,还可以一次性插入多行数据,这样可以减少与数据库的通信
全列多行插入:值的顺序与给出的列顺序对应
?| 1 | insert into 表名 values(...),(...)...; |
例:
?| 1 | insert into classes values(0,'python1'),(0,'python2'); |
| 1 | insert into 表名(列1,...) values(值1,...),(值1,...)...; |
例:
?| 1 | insert into students(name) values('杨康'),('杨过'),('小龙女'); |
修改
格式: UPDATE tbname SET col1={expr1|DEFAULT} [,col2={expr2|default}]…[where 条件判断]
?| 1 | update 表名 set 列1=值1,列2=值2... where 条件 |
例:
?| 1 | update students set gender=0,hometown='北京' where id=5; |
删除
?| 1 | DELETE FROM tbname [where 条件判断] |
| 1 | delete from 表名 where 条件 |
例:
?| 1 | delete from students where id=5; |
逻辑删除,本质就是修改操作
?| 1 | update students set isdelete=1 where id=1; |
备份
运行mysqldump命令
| 1 2 3 4 |
mysqldump –uroot –p 数据库名 > python.sql; # 按提示输入mysql的密码 |
恢复
连接mysql,创建新的数据库
退出连接,执行如下命令
| 1 2 3 |
mysql -uroot –p 新数据库名 < python.sql# 根据提示输入mysql密码 |
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30