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 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的数据