时间: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