欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第一天MySQL

程序员文章站 2022-07-09 19:31:05
MySQL学习笔记 2020/5/4 一、 数据库的相关概念 数据库的好处 1.1 能够永久性的保存数据,实现数据持久化 1.2 可以实现结构化查询,方便管理 2.数据库相关概念 2.1数据库(DB->database):存储一组有组织的数据的容器 2.2 数据库管理系统(DBMS->databas ......

mysql学习笔记

 

2020/5/4

一、 数据库的相关概念

  1. 数据库的好处

1.1   能够永久性的保存数据,实现数据持久化

1.2   可以实现结构化查询,方便管理

  2.数据库相关概念

2.1数据库(db->database):存储一组有组织的数据的容器

2.2 数据库管理系统(dbms->database management system):又称数据库软件或数据库产品,用于管理数据库中的数据

2.3 结构化查询语言(structured query language):用于和dbms进行通信的语言(sql语言不是某个数据库软件特有,而是几乎所有数据库软件都通用的语言)

      

二、 一些数据库软件

  1. mysql(08年被sun公司收购,09年sun公司被oracle公司收购)
  2. oracle
  3. db2
  4. sqlserver

三、 数据库的特点

  1. 将数据放到表内,表再放在库中(如security库)
  2. 一个数据库可以有多个表,每个表都有一个名字,用来标识自己(如security中的users)
  3. 表具有一些特性,这些特性定义了数据在表中如何存储,类似以c++中“类”的设计(如为储存学生数据的表)
  4. 表由列组成,也称为字段。所有表都是由一个或多个列组成的,每一列类似于c++中的“属性”(如security库中的user表中的username、password、id等字段)
  5. 表中的数据是按行存储的,每一行类似于c++中的”对象”

 

四、 mysql产品特点

优点:

  1. 成本低->开放源代码
  2. 性能高:执行很快
  3. 简单:容易安装和使用

五、 dbms

两大类:

  1. 基于共享文件系统的dbms(如微软的access,但只能用于windows操作系统中)
  2. 基于客户机-服务器(c/s)的dbms(mysql、oracle、sqlserver)

  (一般来说安装数据库,是安装数据库的服务端)

六、 mysql-配置文件

  1. bin目录,二进制文件
  2. my.ini->一个配置文件,可以查看和修改当前mysql服务端和客户端的配置(如端口号、使用的字符集等)

七、 mysql服务的启动和停止

  1. 手动在电脑服务中开启或停止
  2. 在dos命令行中使用命令(在管理员模式下启动)

  2.1   启动->net start 服务名(服务名可以在自己电脑计算机管理中的服务处查看)

  2.2   关闭->net stop 服务名

八、 mysql服务端的登入和退出

  1. mysql自带的客户端(只限于root用户)
  2. 通过windows自带的客户端

  登录:mysql [-h(主机名) -p(端口号)] -u(用户名) -p(密码)

  退出:exit或ctrl+c

九、 mysql常见命令

  1. 查看当前的所有数据库

  show database;(sql语句中以;或\g来表示一个语句的结束)

   2. 打开指定的库

  use 库名;

   3. 查看当前库的所有表

  select tables;

   4. 查看其它库的所有表

  select tables from 库名;

   5. 创建表

  create table 表名(

        列名 列类型,

        列名 列类型,

        …

);

   6. 查看表结构

  desc 表名;

   7. 查看服务器版本

    7.1 登录到mysql服务器

    show version();

      7.2 没有登录到mysql服务器

    mysql –version

    或

    mysql –v

   8. 创建一个数据库

  create database 库名;

   9. 查看当前打开的数据库

  select database();

十、 mysql语法规范

  1. 不区分大小写,但建议关键字大写,表名,列名小写
  2. 每条命令最好用‘;’结尾
  3. 每条命令根据需要,可以进行缩进或换行
  4. 注释

  4.1单行注释:#

  4.2单行注释:-- 注释文字(注意,后面有个空格)

  4.3 多行注释:/* 注释文字 */

 

十一、 sql语言

  1. dql语言(data query language)数据查询语言

   1.1   基础查询

    1.1.1         语法:select 查询列表(查询的东西可以有多个)from 表名;(select->选择、过滤、查看)

    1.1.2         查询列表可以是:(注意,查询的结果是一个虚拟的表格,没有真实的保存)

      (1)    表中的字段

        表中的单个字段:

             select 字段名 from 表名;

             select last_name from employee;

        表中的多个字段:

             select 字段名,字段名,…,字段名 from 表名;(查询字段名的类型、个数、顺序可以自己定义,灵活)

        表中的全部字段:  

      1. select * from 表名;(*表示所有字段,但字段的顺序是固定的,不够灵活)
      2. select 字段名,字段名,…,字段名(列出所有字段) from 表名;

        (着重号:用于把字段名与关键字区分,代表这是一个字段名,也可以不用)

      (2)    常量值

            select 常量值;

         select 100;

         select 'john';

      (3)    表达式

         select 表达式;

         select 100*98;

      (4)    函数

         select 函数名;

            select version();

    1.1.3  给字段取别名

    优点:1.便于理解 2.如果要查寻的字段有重名的情况,使用别名可以区分开来

    方式一:as方式

        select 字段名 as 别名;

     select 100*98 as result;

        select last_name as  姓,first_name as  名  from employee;

    方式二:使用空格

        select last_name  姓,first_name  名  from employee;

     注意:若别名中有特殊字符如“  ”(空格)、“#”等,需要用“”把别名引起来(单引号也可以,不过建议使用双引号)

    1.1.4 去重

     select distinct 字段名 from 表名;

     select distinct department_id from employee;(department_id中只显示没有重复的编号,若作用于多列,则根据多列的多个字段来共同去重)

    1.1.5 +的作用

    只有一个功能:运算符

    (1).若两个操作数都为数值型,则直接进行加法运算

    (2).若两个操作数中有一方为字符型,则会试图将字符型值转换为数值型。如果转换成功,则继续做加法运算;如果转换失败,则将字符型值转换成0

    (3). 若两个操作数中有一方为null,则最后结果一定为null

    1.1.6  concat()使用(拼接)

    函数原型:concat(str1,str2,str3…)

    select concat('a','b','c');->abc

    select concat(last_name,first_name) as 姓名 from employee;

 

    2. dml语言(data manipulation language)数据操纵语言

    3. ddl语言(data definition language)数据库模式定义语言

    4. tcl语言(transaction control language)事务控制语言