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)相关推荐

  1. python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解

    本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...

  2. unicode表_Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

    # Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是 ...

  3. python的数据库_python数据库操作-mysql数据库

    一:连接 1:本地连接 mysql -u用户名 -p密码 2:连接远程服务器 mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器 二:创建数据库 c ...

  4. 数据库零碎---mysql编码设置,与乱码分析

    一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的"天书", 其次是文件被以错误的编码打开,然后保存, ...

  5. toad导入数据_配置toad进行导入导出数据库操作

    最近需要对oracle进行导入导出操作,于是研究使用toad进行导入导出oracle数据库操作,现稍作记录. oracle的导入导出不管是否使用toad还是pl/sql工具进行操作,实际上最终都是通过 ...

  6. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  7. linux mysql c语言编程,在Linux下通过C语言操作MySQL数据库

    2010年1月27日 晚 22:10 作者:longyun(http://www.linuxdiyf.com/mailto:mtd527@gmail.com) 续:小弟最近想学习数据库,并想开发一个简 ...

  8. c 获取mysql列数据_转 用C API 操作MySQL数据库

    用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...

  9. python操作mysql数据库实现增删改查

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...

  10. nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作

    欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...

最新文章

  1. Python 批量处理 Excel 数据后,导入 SQL Server
  2. 事务未提交 别人能读取到吗_Mysql 事务-面试笔记
  3. Mac下使用brew的常用步骤
  4. 哈工大C语言公开课练兵编程(二)
  5. C# Linq to Entity Lamda方式分组并求和求平均值
  6. c语言的指针和java引用传递参数,java传参数是传值还是引用
  7. Python程序员薪资 你不知道的事
  8. 物联网四大产业群的典型应用场景
  9. 计算机专业英语第五版课文翻译,计算机专业英语教程(第5版)翻译完整版
  10. 厚积‘博’发,成就卓越IT人生!
  11. 内存颗粒位宽和容量_【科普】内存颗粒版本判断方法和编号解析V2.0
  12. 新时间和日期 API-时间校正器(Java8新特性)
  13. 企业做seo的优势在哪些地方
  14. 3D人脸成像技术整理
  15. 【论文导读】-GCLSTM graph convolution embedded LSTM for dynamic network link prediction用于动态网络边预测的图卷积嵌入LSTM
  16. linux下读写emmc,nand,硬盘下的文件(一)
  17. 计算机毕业设计Java疫情状态下的图书馆座位预约系统(系统+源码+mysql数据库+Lw文档)
  18. Java物联网开发(一) —— MQTT协议
  19. 【Hadoop 】Hadoop datanode启动不起来的原因总结
  20. 080 《秘书工作手记:办公室老江湖的职场心法》简记

热门文章

  1. 网络最大流和最小费用流
  2. linux越狱amd卡代码,为Linux内核贡献27.5万行代码中:AMD意外泄漏下一代APU信息
  3. 非线性回归算法--学习笔记
  4. 查询起止时间为同一天,需要查到当天数据
  5. 【unity】Google 登录和Google支付接入unity
  6. 如何去开发一个webApp
  7. ARMv8/GICv3中断路由
  8. airpak模拟案例,Airpak模拟教程-体育馆通风模拟案例-CFD数值模拟教程airpak
  9. java拼接sql语句的in条件
  10. 记一次Kafka warning排查过程