数据库——操作(mysql)
sql语句实现数据库的基本操作
- 1)数据库的操作
- 2)数据表的操作
- 3)数据的操作
mysql基础入门(开启mysql服务,命令行客户端工具和图形界面化工具workbench的使用)
mysql数据库的基本操作包括数据库、数据表和数据的操作。
1)数据库的操作
1.创建数据库
create database [if not exists]数据库名 [库选项];
注意:上述语法中的数据库名由字母、数字和下划线组成;如果创建的数据库已经存在,则程序会报错,加上if not exists表示指定的数据库不存在时执行创建操作,否则忽略,不会报错;库选项用于设置此数据库的相关特性,如字符集charset,校对集collate;"[ ]"括起的选项表示可选参数。
2.查看数据库
-- 查看服务器下所有的数据库
show databases;
-- 查看指定数据库的创建信息
show create database 数据库名;
-- 查看当前使用的数据库
select database();
图中选择的数据库是mysql安装时自动创建的,其中
- information_schema:mysql服务器的数据字典,用于保存数据表和库的结果信息
- performance_schema:性能字典,用于保存全局变量等
- mysql:主要负责mysql服务器需要使用的控制和管理信息,如用户权限关系等
- sys:包括存储过程,自定义函数等信息
3.选择数据库
use 数据库名;
4.删除数据库
drop database [if exists] 数据库名;
2)数据表的操作
1.创建表
# temporary表示临时表,仅在当前会话可见,会话关闭时会自动删除
create [temporary] table [if not exists] 表名(字段名 字段类型 [字段属性...]
)[表选项];
- 字段名指的是数据表的列名;
- 字段类型设置字段中保存的数据类型(详细介绍见→mysql数据类型
- 可选项字段属性指的是字段的某些特殊约束条件(详细介绍见→完整性约束)
- 可选项表选项用于设置表的相关特性(eg 存储引擎 engine,字符集charset ,校对集collate)(详细介绍见→存储引擎,字符集与校对集)
注意:在创建数据表之前需要用use 数据库名;
指定操作的是哪个数据库,否则会抛出错误。当然如果不使用该命令,在创建数据表时将“数据表名”改成“数据库名.数据表名”就可以在指定的数据库下创建数据表。
2.查看表
1)查看数据库下已有的数据表
show tables [like 匹配模式];
# 匹配模式符有两种:%和_,前者匹配任意长度的字符,后者匹配一个字符
2)查看数据表的创建语句
show create table 表名;
3)查看数据表的结构
desc|describe|explain 表名;
desc|describe|explain 表名 字段名;
#省略full和desc一样,不省略可以获得更多的信息,如字段的权限,comment等
show [full] columns from 表名 [from 库名];
show [full] columns from 库名.表名;
3.删除表
drop [temporary] table [if exists] 表名1[,表名2,...];
4.修改表
alter table 表名...;
1)修改表名称
-- 语法一
alter table 旧表名 rename as/to 新表名;
-- 语法二
rename table 旧表名1 to 新表名1[,旧表名2 to 新表名2,...];
2)修改表选项
alter table 表名 表选项[=]值;
3)修改表结构——字段名,字段类型,字段属性
可修改字段名,字段类型,字段属性
alter table 表名 change [column] 旧字段名 新字段名 字段类型 [字段属性];
-- 注意字段类型不能省略,即使与旧字段类型一样
可修改字段类型,字段属性
alter table 表名 modify [column] 字段名 字段类型 [字段属性]
4)修改表结构——修改字段位置
alter table 表名 modify [column] 字段名1 字段类型 [字段属性]
[first| after 字段名2];
5)修改表结构——增加字段
alter table 表名 add [column] 字段名 字段类型 [after 字段名2 | first];
alter table 表名 add [column] (字段1 字段类型1,字段名2 字段类型2,..);
6)修改表结构——删除字段
alter table 表名 drop [column] 字段名;
补充:
表和字段的引用方式有两种:绝对引用和相对引用
- 绝对引用:数据库名.表名(.字段名)
- 相对引用:表名.(字段名)
3)数据的操作
1.添加数据
-- 为所有字段插入记录时,可以省略字段,值的顺序与表的全部字段相对应
insert into 表名 values(值1,值2,...);
-- 值与给定的字段相对应
insert into 表名(字段1,字段2,...) values(值1,值2,...);
-- 一次插入多条记录
insert into 表名[(字段列表)] values(值列表)[,(值列表),...];
-- 特殊地,当主键设置自增或者默认值,其他非主键字段设置了默认值,则可以
insert into 表名 values();
2.修改数据
update 表名 set 字段1=值1[,字段2=值2,...]
[where 条件表达式];
3.删除数据
delete from 表名 where 条件表达式;
truncate [table] 表名;
delete与truncate的主要区别:
- 实现方式不同
truncate本质上先执行删除(drop)数据表的操作,然后再根据表结构文件重新创建数据表的方式实现数据清空;delete是逐条删除表中的记录。 - 执行效率不同
对于大型数据表,truncate的效率更高,数据量小时,delete更快 - 对auto_increment字段的自增值影响不同
truncate之后,自增值从默认的初始值重新开始,delete不影响自增值 - 删除数据的范围不同
truncate只能清除所有记录,delete可以通过where 条件表达式删除符合条件的记录 - 返回值含义不同
truncate的返回值一般没有意义,delete则返回符合条件被删除的记录数 - 所属sql语言的不同组成成分
truncate通常看作DDL,delete属于DML
4.查询数据→sql查询
数据库——操作(mysql)相关推荐
- python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解
本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...
- unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地
# Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是 ...
- python的数据库_python数据库操作-mysql数据库
一:连接 1:本地连接 mysql -u用户名 -p密码 2:连接远程服务器 mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器 二:创建数据库 c ...
- 数据库零碎---mysql编码设置,与乱码分析
一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的"天书", 其次是文件被以错误的编码打开,然后保存, ...
- toad导入数据_配置toad进行导入导出数据库操作
最近需要对oracle进行导入导出操作,于是研究使用toad进行导入导出oracle数据库操作,现稍作记录. oracle的导入导出不管是否使用toad还是pl/sql工具进行操作,实际上最终都是通过 ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- linux mysql c语言编程,在Linux下通过C语言操作MySQL数据库
2010年1月27日 晚 22:10 作者:longyun(http://www.linuxdiyf.com/mailto:mtd527@gmail.com) 续:小弟最近想学习数据库,并想开发一个简 ...
- c 获取mysql列数据_转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...
- python操作mysql数据库实现增删改查
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...
- nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作
欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...
最新文章
- Python 批量处理 Excel 数据后,导入 SQL Server
- 事务未提交 别人能读取到吗_Mysql 事务-面试笔记
- Mac下使用brew的常用步骤
- 哈工大C语言公开课练兵编程(二)
- C# Linq to Entity Lamda方式分组并求和求平均值
- c语言的指针和java引用传递参数,java传参数是传值还是引用
- Python程序员薪资 你不知道的事
- 物联网四大产业群的典型应用场景
- 计算机专业英语第五版课文翻译,计算机专业英语教程(第5版)翻译完整版
- 厚积‘博’发,成就卓越IT人生!
- 内存颗粒位宽和容量_【科普】内存颗粒版本判断方法和编号解析V2.0
- 新时间和日期 API-时间校正器(Java8新特性)
- 企业做seo的优势在哪些地方
- 3D人脸成像技术整理
- 【论文导读】-GCLSTM graph convolution embedded LSTM for dynamic network link prediction用于动态网络边预测的图卷积嵌入LSTM
- linux下读写emmc,nand,硬盘下的文件(一)
- 计算机毕业设计Java疫情状态下的图书馆座位预约系统(系统+源码+mysql数据库+Lw文档)
- Java物联网开发(一) —— MQTT协议
- 【Hadoop 】Hadoop datanode启动不起来的原因总结
- 080 《秘书工作手记:办公室老江湖的职场心法》简记