1、什么是数据库
数据库是按照数据结构来组织、存储和管理数据的仓库。
常见的数据库有这么几种:MySQL、Oracle、DB2、SQL Server、Postgre SQL。
数据库系统:数据库系统要比数据库的范围大的多,它是一个生态系统,包括数据库(Database)、数据库管理系统(Database Management System)、应用开发工具、管理员以及用户。他们合起来组成数据库系统(DataBase System)。
SQL语句:是管理数据库的工具。全称是结构化查询语言,主要包含这么几大部分:
DDL:数据定义语言(定义数据库、表】、视图、索引、触发器等等)
DML:数据操控语言(数据插入、更新、更改)
DQL:数据查询语言(数据查询)
DCL:数据控制语言(控制权限)
2、MYSQL相关操作
1、配置文件:my.cnf是mysql的配置文件。
2、登陆MySql
mysql -u root -p;
mysql -u root -p 密码;
3、退出MySql
exit;
quit;
\q;
4、MySQL当前版本
mysql -V;
mysql --version;
5、登陆的同时,打开数据库
mysql -u root -p -D db_name;
6、登陆信息中应该获取的信息默认命令结束符是以";"或者"\g"结尾。
"help;"或者"\h"或者"?"加上关键字查看帮助手册。
"\c"可以取消当前命令的执行
7、常用SQL语句
得到登陆的用户
SELECT USER();
得到MySQL的版本信息
SELECT VERSION();
得到当前的日期时间
SELECT NOW();
得到当前打开的数据库
SELECT DATABASE();
8、常用的MySQL语法规范常用的MySQL的关键字我们需要大写,库名、表名、字断名称需要使用小写。
SQL语句可以折行操作,但是不要把完整的单词分开。
数据库名称、表名、字断名称不要使用MySQL的保留字,如果必须要使用,则需要用``将其括起来。
3、数据库相关操作
创建数据库
CREATE {DATABASE|SCHEMA} db_name;
-- 数据库名称最好有意义;数据库名称不要使用mysql保留字;
查看当前服务器下的全部数据库
SHOW {DATABASES|SCHEMAS};
检测数据库名称是否存在,不存在则创建
CREATE DATABASE IF NOT EXISTS db_name;
创建数据库的同时,使用指定编码格式
CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT CHARACTER SET [=] charset];
查看指定数据库的详细信息
SHOW CREATE DATABASE db_name;
修改指定数据库编码方式
ALTER DATABASE db_name DEFAULT CHARACTER SET [=] charset;
打开指定的数据库
USE db_name;
得到当前打开的数据库
SELECT DATABASE();
SELECT SCHEMA();
删除指定的数据库
DROP DATABASE db_name;
如果数据库存在则删除
DROP DATABASE IF EXISTS db_name;
4、数据表相关操作
数据表是数据库最重要的组成部分,数据是保存在数据表中。
数据表是由行(row)和列(column)组成。
每个数据表中至少有一列,行可以有0行、1行或者多行。
表明要求唯一,不要包含特殊字符,最好含义明确。
创建一个数据表
CREATE TABLE [IF NOT EXISTS] dbl_name(
字断名称 字断类型 [完整性约束条件],
字断名称 字断类型 [完整性约束条件],
...
)ENGINE=存储引擎 CHARSET=编码方式;
完整性约束条件UNSIGIN,无符号
ZEROFILL,零填充
NOT NULL,非空
DEFAULT,默认值
PRIMARY KEY,主键
UNIQUE KEY,唯一性
AUTO INCREMENT,自动增长
FOREIGN KEY,外键约束
查看当前数据库下的数据表
SHOW TABLES;
查看哪个数据库下的数据表
SHOW FULL TABLES {FROM|IN} db_name;
查看指定数据表的详细信息
SHOW CREATE TABLE tbl_name;
查看表结构
DESC tbl_name;
DESCRIBLE tbl_name;
SHOW COLUNMNS FROM tbl_name;
删除指定的数据表
DROP TABLE [IF EXISTS] tbl_name;
5、MYSQL中的数据类型
1、数值型:整数型、浮点数、定点数。
整数型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、BOOL。
浮点数:FLOAT、DOUBLE、DECIMAL(内部是以字符串形式存储数据)。
定点数:DECIMAL。
2、字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM("value1", "value2",......)、SET("value1","value2")。
3、日期时间类型:TIME、DATE、DATETIME、TIMESTAMP、YEAR。
6、其他常用SQL语句
查看上一步操作产生警告信息
SHOW WARNINGS;
mysql中的注释
-- 注释内容
# 注释内容