MySQL学习笔记---基础概念和一些基础SQL语句

时间:2022-09-08 15:38:11

  MySQL学习笔记,以防遗忘

  数据库基本概念

  数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。

  表:某种特定类型数据的结构化清单,数据库中的表都有一个唯一的名字用来标识自己。

  模式:关于数据库和表的布局及特性的信息。

  列:表中的一个字段。所有表都是由一个或多个列组成,每个列都有对应的数据类型。

  行:表中的一个记录。

  主键:一列(或一组列),其值能够唯一区分表中每个行(每条记录)。

  任意两行都不具有相同的主键值,每个行都必须具有一个主键值(主键值列不允许NULL值)。

  SQL:一种专门用来与数据库通信的语言,SQL不依赖DBMS的存在而存在。

  MySQL命令

  mysql -user(u) username -password(p) password or none MySQL登录

  USE databasename; 使用数据库

  SHOW

  SHOW DATABASES;(;可用\g代替):显示当前安装的数据库

  SHOW TABLES; 查看当前数据库中的可用表的列表

  SHOW COLUMNS FROM tablename; 查看某个表中的内容,它对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息

  DESCRIBE tablename; 和 SHOW COLUMNS FROM tablename; 具有相同的功能,前者是后者的缩写版。

  SHOW STATUS; 用来显示广泛的服务器状态信息。

  SHOW CREATE DATABASE databasename; 用来显示创建特定数据库的MySQL语句。

  SHOW CREATE TABLE tablename; 用来显示创建特定表的MySQL语句。

  SHOW GRANTS; 用来显示授权用户(所有用户或特定用户)的安全权限。

  SHOW ERRORS; 用来显示服务器错误

  SHOW WARNINGS; 用来显示服务器的警告消息

  SELECT

  SELECT columnname FROM tablename; 用来检索数据表中的coulumnname列中的内容

  SELECT row1,row2... FROM tablename; 用来检索数据表中的row1,row2...行的内容

  SELECT * FROM tablename; *为通配符,用来检索表中的所有列

  SELECT DISTINCT key FROM tablename; 用来检索表中不同值key的行

  SELECT key FROM tablename LIMIT num; 返回key的前num行数据

  SELECT key FROM tablename LIMIT num1,num2; 返回表中key的以num1为起点后num2行

  SELECT tablename.colunname FROM tablename; 用来检索数据表中的coulumnname列中的内容,但是同时列出了表明和列名(完全限定)

  SELECT coulumname FROM tablename ORDER BY key; 以key为导向排序(升序ASC,可省略)

  SELECT coulumname FROM tablename ORDER BY key DESC; 以key为导向排序(降序,注:当有多个key时DESC只作用于直接位于其前面的key)

  SELECT coulumname FROM tablename WHERE condition; 按照条件condition从表中检索指定列中的数据(WHERE子句在FROM子句后给出)

  SELECT coulumname FROM tablename WHERE key BETWEEN c1 AND c2; 从表中检索指定列中在条件c1和c2之间的数据(c1 <= c2)

  SELECT coulumname FROM tablename WHERE key IS NULL; 从表中检索key中为NULL的数据