Mysql操作——常用指令
本文主讲:常用的SQL指令等等….【重点】
SQL指令——数据库的一般操作【重点】
SQL指令——show——查看所有数据库
指令功能:
1:查看当前连接的服务器所有的数据库信息
2:查看创建数据库的过程
指令示例:
1(查看所有数据库):show databases
2(查看数据库的创建过程):show create database 数据库名
截图:
SQL指令——select——查看当前所在的数据库
功能:查看当前所在的数据库
指令格式:select database();
截图:
SQL指令——create——创建数据库
功能:创建数据库
指令:
1(创建不指定编码的数据库):create database 数据库名;
2(创建指定编码的字符集):create database 数据库名 charset = 字符集;
指令示例:
1:create database name1;
表示创建一个名为name1不指定编码的数据库
2:create database name1 charset = utf8;
表示创建一个名为name1编码为utf8的数据库
截图:
SQL指令——drop——删除数据库
功能:删除指定MySQL数据库
指令:drop database 数据库名
示例:drop database python_ceshi1
截图:
SQL指令——use——选择指定数据库
功能:选择指定的数据库
指令:use 数据库名
指令示例:use python_database
截图:
总结:
1:在使用 create 创建数据库的时候建议加上charset = utf8,要不然数据库容易出现乱码
2:最常用的数据库操作指令 show 、create 、use
SQL指令——表的创建【重点】
SQL指令——create 在数据库内创建数据表
功能:在指定的数据库内创建数据表,用来存放数据
1 | 指令语法:create table 表名( |
注意事项:
1:每一个字段类型创建完毕后,都要在后面加上,最后一个字段除外
2:字段的约束条件很多,可以是不为空(not null)、自动增长(auto_increment)、无符号(unsight)、主键约束(primary key)等等
3:创建表时不要忘记最后括号外面的;号
4:id字段(数据表第一个字段)一般约束为 (primary key主键) 与 (auto_increment自动增长)
5:字段的约束条件可不写
快速代码体验:
SQL指令——show查看数据库内的数据表
功能:查看指定数据库内的所有数据表
语法:show tables;
快速代码体验
SQL指令——desc查看一个数据表内的所有字段信息
功能:查看指定数据表内的所有字段信息
语法:desc 数据表名;
快速代码体验
SQL指令——show create table 查看一个数据表的创建过程
功能:查看指定数据表的创建过程
语法:
1:show create table 数据表名 ;
(虚线模式查看建表过程,较乱)
2:show create table 数据表名 \G ;
(星号模式查看建表过程)
快速代码体验:
SQL指令——drop 删除指定的数据表
功能:删除指定的数据表
语法:drop table 数据表名
快速代码体验
SQL指令——清除表内数据【重点】
如何清除表内的数据
语法:truncate table 数据表名
SQL指令——表结构(字段)的修改【重点】
前言:本节课适用场景
答:在创建好一个数据表情况下,发现这个数据表内的结构不满足条件,这时我们就要对这个数据表进行修改!
本节必须注意:一个项目运行起来之后,我们就要谨慎修改数据表内的字段!否则会造成项目的瘫痪,那有什么办法可以避免修改数据库字段的情况呢?
答:在创建数据表时,多创建几个空闲字段!
目标:
1:掌握SQL指令——add 向数据表内添加字段
2:掌握SQL指令——change 修改数据表内字段的名称
3:掌握SQL指令——modify 修改数据表内字段类型
4:掌握SQL指令——drop 删除数据表内某一个字段
SQL指令——add 向数据表内添加字段
功能:向指定数据表内添加一个新的字段
语法:alter table 表名 add 新字段名 字段类型 约束条件;
注意事项:在添加字段时约束条件可有可无
快速代码体验
SQL指令——change 修改数据表内字段的名称
功能:修改指定数据表内指定字段的名称
语法:alter table 表名 change 原字段名 新字段名 新字段类型 约束条件;
快速代码体验
SQL指令——modify 修改数据表内字段类型
功能:修改指定数据表内的指定字段的数据类型
语法:alter table 表名 modify 字段名 新的数据类型 约束条件
注意事项:约束条件可不写
快速代码体验
SQL指令——drop 删除数据表内某一个字段
功能:删除指定数据表内的指定字段
语法:alter table 表名 drop 字段名
快速代码体验
SQL指令——数据表内数据的增删改查【重点】
SQL指令——select 查看数据表内字段的数据
功能:查看数据表内字段的数据信息
语法:
1:select * from 数据表名 ;
(表示查看数据表内所有字段的数据信息)
2:select id ,name from 数据表名;
(表示查看数据表内id和name字段的所有信息)
3:select id as “编号”,name as "姓名" from 数据表名 ;
(表示查询id与name字段的数据,以id别名编号与name别名姓名显示出来!!!)
4:select id “编号”,name “姓名” from 数据表名;
(表示查询id与name字段的数据,以id别名编号与name别名姓名显示出来!!!)注意: id与name后面的空格类似于as的功能
5:select * from 数据表名 where id = 1;
(表示查看id为1那个记录的所有字段的信息)
注意事项:
1:select id ,name from 数据表名;
这样查出来的数据 id字段数据在 name字段数据前面显示
2:查询字段的数据信息,如果一个数据表内没有数据,查询为空
快速代码体验
字段有数据查询全部
字段有数据查询全部
有数据查询指定别名字段数据
SQL指令——insert 向数据表内增加数据
功能:向指定数据表内添加数据
语法:
1:insert into 数据表名 value(字段1的值,字段2的值…….)
【表示向数据表内添加所有字段的一行(记录)数据信息】
2:insert into 数据表名 value (字段1的值,字段2的值…)
,(字段1的值,字段2的值…) 【表示向数据表内添加所有字段的两行数据信息】
3:insert into 数据表名(id,name)value(id字段的值,name字段的值…)
【表示向数据表内添加id字段与name字段的一行信息】
注意事项:
1:如果某个字段设置为自动增长,那么在向这个字段添加数据时可为空(null),系统会实现数据自动增长
2:书写增加数据语句时可以写 value 也可以写 values
快速代码体验:
向数据表内添加多个记录(多行)数据
向指定字段添加数据
SQL指令——update 更改数据表内的数据
功能:对数据表内的已存在数据进行更改更新
语法:
1:update 数据表名 set 字段名 = 更改值
(表示对数据表内某个字段的所有数据【全部记录】全部更改)
2:update 数据表名 set 字段名 = 更改值 where id = 1
(表示对数据表内id等于1的记录的某个字段的数据进行更改)
3:update 数据表名 set 字段名1 = 更改值1,字段名2 = 更改值2
(表示更改多个字段的所有数据)
快速代码体验
更改一个字段的所有数据
更改指定一个记录的数据
SQL指令——delete 删除数据表中的指定数据
功能:物理删除指定数据表内的指定数据
语法:
1:delete from 数据表名
(表示删除数据表内的所有数据)
2:delete from 数据表名 where id = 1
(表示删除数据表内 id字段等于 1 那个记录的数据)
注意事项:delete指令是物理删除数据,不能恢复,我们可以选择逻辑删除从而更好地保存数据
快速代码体验
删除数据表内所有数据
删除指定条件(指定记录)的数据
逻辑删除数据表内的数据
实现方法:
第一步:向数据表内添加一个新的字段 字段名为 is_delete 字段属性为bit 字段默认值为 0
第二步:将需要删除的一个记录(一行)数据的 is_delete那个字段数据默认值更改为 1
第三步:查找is_delete 那个字段值为0的所有记录信息,默认值为0的那个记录不出现 就实现了逻辑删除
实现代码:
1.添加新字段:alter table 数据表名 add is_delete bit default 0 ;
2.更给默认值: update 数据表名 set is_delect default = 1 where id = 2;
3.查找数据:select * from 数据表名 where is_delete = 0 ;
注意事项:
1:新建一个字段名为 is_delete的字段而不是 is_delect的字段(截图创建的就是错误的)
2:创建is_delete字段时,字段的类型为bit,且默认值为0
3:bit数据类型只能存放两个值即0与1
快速代码体验
SQL指令——数据库的备份与恢复【重点】
在Linux终端将指定数据库备份(导出)为SQL文件
功能:将数据库导出到计算机磁盘中(后缀为sql的文件)
导出语法: mysqldump -u 用户名 -p 数据库名 > 数据库文件名.sql
示例: mysqldump -u root -p python_ceshi1 > python_ceshi2.sql
快速代码体验
在Linux终端将SQL文件导入到创建好的数据库中,以实现恢复数据库数据
功能:将后缀为SQL文件导入创建好的数据库中,实现恢复数据库数据(数据表)功能
导入语法:mysql -u 用户名 -p 数据库名 < 后缀为SQL的文件
示例:mysql -u root -p python_ceshi < python_ceshi2.sql
(表示将python_ceshi2.sql脚本文件导入到名为python_ceshi这个数据库中)
注意事项:因意外原因造成数据库删除,这是我们要新建一个同名的数据库,然后再把后缀为sql的备份文件导入才会成功,否则导入失败!
快速代码体验
未完待续….