MySQL数据库入门笔记

1.MySQL 相关概念介绍

MySQL 为关系型数据库(Relational Database Management System),“关系型”可以理解为“表格”的概念,一个关系型数据库由一个或数个表格组成。

  • 表头(header): 每一列的名称;
  • 列(row): 具有相同数据类型的数据的集合;
  • 行(col): 每一行用来描述某个人/物的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 表中用来识别某个特定的人/物的方法, 键的值在当前列中具有唯一性。

2.MySQL 脚本的基本组成

MySQL 通过执行 SQL 脚本来完成对数据库的操作, 该脚本由一条或多条 MySQL 语句(SQL 语句 + 扩展语句)组成, 保存时脚本文件后缀名一般为 .sql。在控制台下, MySQL 客户端也可以对语句进行单句的执行而不用保存为.sql 文件。

  • 标识符:标识符用来命名一些对象, 如数据库、表、列、变量等, 以便在脚本中的其他地方引用。 MySQL 标识符使用万能命名规则:标识符由字母、数字或下划线(\_) 组成, 且第一个字符必须是字母或下划线。对于标识符是否区分大小写取决于当前的操作系统, Windows 下是不敏感的,但对于大多数 linux\textbackslash unix 系统来说, 这些标识符大小写是敏感的。
  • 关键字:关键字有自己特定的含义, 尽量避免作为标识符。
  • 语句:MySQL 语句是组成 MySQL 脚本的基本单位, 每条语句能完成特定的操作, 他是由 SQL 标准语句 + MySQL 扩展语句组成。
  • 函数:MySQL 函数用来实现数据库操作的一些高级功能, 这些函数大致分为以下几类: 字符串函数、数学函数、日期时间函数、搜索函数、加密函数、信息函数。

3.MySQL 中的数据类型

MySQL 有三大类数据类型, 分别为数字、日期\时间、字符串, 这三大类中又更细致的划分了许多子类型:

  • 数字类型:

整数: tinyint、 smallint、 mediumint、 int、 bigint;
       浮点数: float、 double、 real、 decimal;

  • 日期和时间:

date、 time、 datetime、 timestamp、 year;

  • 字符串类型:

字符串: char、 varchar;
      文本: tinytext、 text、 mediumtext、 longtext;
      二进制(可用来存储图片、音乐等): tinyblob、 blob、mediumblob、 longblob.

关于数据类型,更多内容参考以下网页:http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html

4.使用 MySQL 数据库

  4.1 登录 MySQL

      以管理员身份启动命令提示符,通过net start mysql或者net start mysql57(后面数字为版本号)来启动MySQL 服务。

  • 启动:net start mysql
  • 停止:net stop mysql
  • 卸载:net delete mysql

启动服务后,输入以下格式的命令登录数据库:mysql -h 主机名 -u 用户名 -p;

  • -h : 该命令用于指定客户端所要登录的 MySQL 主机名, 登录当前机器该参数可以省略;
  • -u : 所要登录的用户名;
  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项.

以登录刚刚安装在本机的 MySQL 数据库为例, 在命令行下输入mysql -u root -p按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password:

若密码存在, 输入密码登录, 不存在则直接按回车登录,默认 root 账号是无密码的。登录成功后你将会看到 Welecome to the MySQL monitor... 的提示语。然后命令提示符会一直以 mysql>加一个闪烁的光标等待命令的输入, 输入 exit或quit退出登录。

  4.2 创建一个数据库

创建数据库命令格式:create database 数据库名 [其他选项];

为了便于在命令提示符下显示中文,在创建时通过character set gbk将数据库字符编码指定为gbk。创建成功时会得到 Query OK, 1 row affected(0.02sec) 的响应。

注意: MySQL 语句以分号(;)作为语句的结束, 若在语句结尾不添加分号时, 命令提示符会以 -> 提示你继续输入(有个别特例, 但加分号是一定不会错的);

提示: 可以使用 show databases; 命令查看已经创建了哪些数据库。

4.3 选择所要操作的数据库

要对一个数据库进行操作, 必须先选择该数据库, 否则会提示错误:ERROR 1046(3D000): No database selected

两种方式对数据库进行使用的选择:
           一: 在登录数据库时指定, 命令: mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p;
           二: 在登录后使用 use 语句指定, 命令:use 数据库名。use 语句可以不加分号, 执行 “use + 已创建数据库名” 来选择创建的数据库, 选择成功后会提示: Database changed.

4.4 创建数据库表

  • 创建数据库表:create table 表名称(列声明);
  • 查看已经创建的表名称:show tables;
  • 查看已创建的表的详细信息:describe 表名;

如下创建一个数据库表:

create table students
(
    id int unsigned not null auto\_increment primary key,
    name char(8) not null,
    sex char(4) not null,
    age tinyint unsigned not null,
    tel char(13) null default "_"
);

可以通过任何文本编辑器将语句输入好后保存为 createtable.sql 的文件中, 通过命令提示符下的文件重定向执行执行该脚本。打开命令提示符, 输入:mysql -D samp_db -u root -p < createtable.sql.(提示: 1.如果连接远程主机请加上 -h 指令; 2. createtable.sql 文件若不在当前工作目录下需指定文件的完整路径。 )

create table tablename (columns);为创建数据库表的命令,列的名称以及该列的数据类型将在括号内完成。
      “id int unsigned not null auto_increment primary key”解释:

  • “id”:为列名称;
  • “int”:指定该列的数据类型为int,后面用"unsigned" 加以修饰,表示该类型是无符号型;
  • “not null”:说明该列不能为空;
  • “auto_incremen”:在整数列中使用,作用是插入数据时若该列为null,将自动产生一个比现存值更大的唯一标识符。在每张表中仅能有一个这样的值且所在列必须为索引列;
  • “primary key”:表示该列是表的主键,值唯一。

  4.5向表中插入数据

insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

insert [into] 表名 [(列名 1, 列名 2, 列名 3, ...)] values (值 1, 值 2, 值 3, ...);

有时我们只需要插入部分数据, 或者不按照列的顺序进行插入, 可以使用这样的形式进行插入:
          insert into students (name, sex, age) values(“孙丽”, “女”, 21);

  4.6 查询表中的数据

select语句:select 列名称 from 表名称 [查询条件];可以使用通配符*查询表中所有内容。
      特定条件查询:select 列名称 from 表名称 where 条件;

  • where 列明 = 值
  • =、 \textgreater 、 \textless 、 \textless=、 \textgreater=、 !=
  • is [not] null、 in、 like
  • or 和 and 组合查询

  4.7 更新表中的数据

      update语句可以更新表中数据,命令格式:update 表名称 set 列名称= 新值 where 更新条件;

  4.8 删除表中的数据
      delete语句用于删除表中的数据,删除满足条件的一行或者多行数据,命令格式:delete from 表名称 \ where 删除条件;

  4.9 创建后表的修改
      alter table 语句用于创建后对表的修改。

  • 添加列:alter table 表名\ add 列名 \ 列数据类型\ [after 插入位置];
  • 修改列:alter table 表名\ change 列名称 \ 列新名称\ 新数据类型;
  • 删除列:alter table 表名\ drop 列名称;
  • 重命名表:alter table 表名 \ rename 新表名;
  • 删除整张表:drop table 表名;
  • 删除整个数据库:drop database 数据库名;

5. 附录
    修改 root 用户密码:
        打开命令提示符,执行命令:mysqladmin -u root -p password 新密码。

时间: 2024-10-15 08:12:47

MySQL数据库入门笔记的相关文章

MySQL快速入门笔记(win平台)

课程 : 阿里云课堂  MySQL数据库入门学习 https://edu.aliyun.com/course/153 主要是感觉做笔记看的快.. 阿里云公益人才培养,了解一下? https://edu.aliyun.com/green/index ------------------------------------------------------- MySQL概况 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea

MYSQL数据库学习笔记1

MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 修改表 表的增删查改 查询 数据库概念 数据库是一种对大量信息进行管理的一种方法. 数据库系统从结构上看,也是可以分为三层的: 物理层:数据实际如何存储 逻辑层:存储的是什么数据,以及数据间是什么关系 试图层:提供给用户的部分数据 关系数据库 目前关于数据库模型最主流的有两种, 一种叫做关系型数据库,这

MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4085684.html 联系方式:[email protected] [正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的

MySQL数据库入门——多实例配置

MySQL数据库入门--多实例配置

mysql数据库入门

在很多地方都有人提到MySQL这个数据,之前没有接触过的mysql数据库的童鞋们可以跟我一起走进mysql的世界. http://hovertree.com/menu/mysql/ 安装我就不多说了,都是傻瓜的安装. 安装好了之后就可以看到服务里多了个服务. 当然要启动它. 根据自己的需要设置成自动还是手动了. 看到这个服务的路径 "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\

MySQL 数据库入门操作

启动mysqld:在命令行启动mysql时,如不加"--console",启动.关闭信息不在界面中显示,而是记录在安装目录下的data目录里,文件名一般是hostname.err,通过此文件查看mysql的控制台信息.关闭mysqladmin -u root shutdown命令行连接服务器mysql -h localhost -u root -proot  (-p 和密码直接没有空格)或者 mysql -h localhost -u root -p 回车根据提示再输入密码rootmy

【Linux】Ubuntu下C语言访问MySQL数据库入门

使用的系统是Ubuntu 11.10.数据库是MySQL. MySQL数据库环境配置 首先需要安装MySQL客户端和服务器,命令行安装方式为: [cpp] view plaincopyprint? sudo apt-get install mysql-server mysql-client 然后,要使用C语言编程访问数据库,需要另外安装一个开发包: [cpp] view plaincopyprint? sudo apt-get install libmysqlclient15-dev 在MySQ

MySQL数据库学习笔记(三)----基本的SQL语句

主要内容: 一.cmd命令行的常用命令 二.数据定义语言(DDL) 三.数据操纵语言(DML) 四.数据查询语言(DRL) 五.事务控制语言(TCL) 一.cmd命令行的常用命令: 当我们使用MySQL 5.5 Command Line Client这个客户端登陆时,只能登陆root用户.如果今后创建了别的用户,就很麻烦了,所以我们不用MySQL 5.5 Command Line Client这个客户端,而是直接使用cmd. 登录MySQL数据库: 因为在这之前安装MySQL的时候,已经将环境变