MYSQL 初学_MySQL数据库教程

MYSQL 初学_MySQL数据库教程一.数据的存储方式 特定的文件 / 内存 / 第三方云服务器 / 数据库服务器 二.什么是数据库 数据库按照一定的形式来组织存储数据,目的是为了便于操作数据 —— 增删改查 三.数据库发展历史 网状数

MYSQL 初学

一.数据的存储方式

    特定的文件 / 内存 / 第三方云服务器 / 数据库服务器

二.什么是数据库

  数据库按照一定的形式来组织存储数据,目的是为了便于操作数据 —— 增删改查

三.数据库发展历史

    网状数据库 -> 层次型数据库 -> 关系型数据库 -> 非关系型数据库(NoSQL)

    关系型数据库逻辑结构

    Server  ->  Database  ->  Table  ->  Row  ->  Column

  数据库服务器    数据库       数据表       行          列

  四.mysql数据库

 oracle:MySQL

 马丁:MariaDB

xampp

服务器套装,保护多款服务器端软件,包含mysql,….

 1.mysql部署结构

    (1)服务器端:负责存储、维护数据 —— 银行的数据库服务器

        C:/xampp/mysql/bin/mysqld.exe   启动文件

         占用端口3306

    (2)客户端:负责连接服务器,对数据进行操作 —— 银行的ATM机

        C:/xampp/mysql/bin/mysql.exe  

 2.使用客户端连接服务器端

       mysql.exe  -h127.0.0.1  -P3306   -uroot   -p

         -h   连接的服务器,IP地址/域名   127.0.0.1/localhost   自己电脑的IP地址和域名

         -P   mysql所占用的端口

         -u   提供用户名,root是mysql的管理员账户

         -p   提供root对应的密码,xampp下root密码为空

  mysql  -uroot    简写形式

连接命令结束不能加分号

 3.常用的管理命令

    quit;    退出服务器的连接

    show  databases;   显示所有的数据库

    use  数据库名称;   进入指定的数据库

    show  tables;   显示所有的数据表

    desc  数据表名称;  描述指定的数据表的表头有哪些项

 五.SQL命令

  结构化查询语言,用于操作关系型数据库服务器,主要对数据进行增删改查

 1.SQL命令运行方式

    (1)交互模式

        客户端输入一行,点击回车,服务器就执行一行,适用于临时性的查看数据。

    (2)脚本模式

        把要执行的所有命令写在一个脚本文件中,一次性的提交给服务器执行,适用于批量的操作数据。

        mysql  -uroot<拖拽要提交的脚本文件          回车

 2.SQL命令的语法规范    

    (1)一条SQL命令可以跨越多行,以英文的分号作为结束

    (2)SQL命令不区分大小写,习惯上关键字大写,非关键字小写

    (3)假设某一条SQL命令出现语法错误,则此条命令往后所有命令不再执行

    (4)分为单行注释和多行注释

         — 单行注释

         #单行注释

         /* 多行注释 */

六.常见的SQL命令

  1.设置客服端连接服务器端编码为utf8
     set names utf8;

   2.丢弃数据库,如果存在

       drop  database  if  exists  数据库名称;

  3.创建一个新的数据库,设置存储字符的编码为utf8
     create database hantang charset=utf8;

   4.进入创建的数据库

       use  数据库名称;

   5.创建数据表

       create  table  数据表名称(

            列名称  列类型,

                …

        );

七.数据操作

   1.插入数据

       insert into 数据表名称 values(…);

   2.删除数据

       delete from 数据表名称 where 条件;

   3.修改数据

       update 数据表名称 set 列名称=值, …  where 条件;

   4.查询数据

       select * from 数据表名称;

八.计算机存储字符

   1.如何存储英文字符

      ASCII:对所有的英文及其符号进行编码,总共有128个

      Latin-1:对欧洲字符进行了编码,总共有256个,兼容ASCII;MySQL默认使用这种编码

   2.如何存储中文字符

  GB2312:对6000多汉字进行了编码,兼容ASCII

  GBK:对2万多汉字进行了编码,兼容GB2312

  Unicode:对世界上主流国家常用的语言进行了编码,具体有三种存储方案,utf-8,utf-16,utf-32

   3.解决中文乱码

  (1)确保脚本文件的编码是utf8

  (2)设置客户端连接服务器端编码为utf8

      set names utf8;

  (3)设置服务器端创建数据库存储字符的编码为utf8

      charset=utf8

    4.针对于个别情况,还是出现乱码

退出交互模式

  执行  chcp   65001  将命令行编码改为utf-8

重新进入交互模式查询数据

    MySQL可视化操作

九.列类型

   在创建数据表的时候,指定的列存储的数据类型

   create table t1(

      nid  列类型

   );

   1.数值型

   tinyint  微整型,占1个字节,范围-128~127

   smallint  小整型,占2个字节,范围-32768~32767

   int  整型,占4个字节,范围-2147483648~2147483647

   bigint  大整型,占8个字节,范围

   float   单精度浮点型,占4个字节,存储的值越大精度越低

   double  双精度浮点型,占8个字节,存储的值越大精度越低

   decimal(M,D)  定点小数,占16个字节,M代表总的有效位数,D代表小数点后的位数

   boolean   布尔型,只有两个值,分别是true和false,存储只有两个值的数据,例如:性别、是否为会员、是否为推荐商品…

true和false是关键字,不能加引号

布尔型在使用的时候会转为tinyint,true转为1,false转为0,也可以直接插入1或者0

   2.日期时间型                      

  date  日期型  格式 “2022-10-30”

  time  时间型  格式 “14:55:30”

  datetime   日期时间型   格式 “2022-10-30 14:55:30”

   3.字符串型

  varchar(M)  变长字符串,不会产生空间浪费,数据操作速度相对慢,常用于存储变化长度的数据,例如:姓名、文字标题、详情…  M的最大值是65535

  char(M)  定长字符串,可能会产生空间浪费,数据操作速度相对快,常用于存储固定长度的数据,例如:手机号码、身份证号码…  M的最大值是255

  text(M)  大型变长字符串,M的最大值4G

 

varchar(5)

char(5)

a

a

a

ab

ab

ab

一二三

一二三

一二三

 选择合理列类型

  create  table  t1(

     id  int,

     title  varchar(64),

     birthday  date,

     age  tinyint,

     phone  char(11),

     sex  boolean

  );

数据库存储图片,存储的是图片的路径

img/1.jpg

img/huawei.png

十列约束  

  mysql可以对插入的值进行验证,例如:编号不能出现重复、性别只能是男或者女、一个人的成绩范围0~100之间… 只有符合条件才允许插入

  create  table  t1(

    pid  int  列约束

  );

   1.主键约束 —— primary key

      声明了主键约束的列上,不允许插入重复的值,一个表中只能有一个主键约束,通常加在编号列,会加快数据的查询速度

null  表示一个暂时无法确定的值,例如:暂时无法确定商品的价格、无法确定一个员工的手机、家庭住址…

null是关键字,不能加引号

      主键约束禁止插入null

   2.非空约束 —— not null

      声明了非空约束的列,禁止插入null

十一.列约束

   3.唯一约束 —— unique

      声明了唯一约束的列不允许插入重复的值,一个表中可以使用多次唯一约束

      允许插入null,甚至多个null

一旦使用了唯一约束,可能会影响到数据的默认排序

   4.检查约束 —— check

  也称为自定义约束,可以自己指定约束条件

  create table student(

    score  tinyint  check(score>=0 && score<=100)

  );

  mysql不支持检查约束,极大影响数据插入速度。

   5.默认值约束 —— default

  (1)设置默认值

    create  table  ht_event(

       ctime  date  default  “2022-8-31”

    );

    如果不设置默认值,则为null

  (2)应用默认值

    ①在插入值的位置,使用default关键字,就会自动应用默认值

      insert into ht_event values(3,”事件测试”, default);

    ②给指定的列提供值,没有出现的列会自动应用默认值

      insert into ht_event(eid, title) values(4,”事件测试”);

   6.外键约束

   声明了外界约束的列插入的值必须在另一个表的主键列出现,目的确保两个表之间建立关联。

   外键列要和对应的主键列的类型要保持一致

   foreign key(外键列)  references  另一个表(主键列)

  十二.自增列

  auto_increment:自动增长,声明了自增列,只需要赋值为null,就会获取最大值然后加1插入

   注意事项:必须添加在整数型的主键列

十三.简单查询

原文地址:https://www.cnblogs.com/phoenix-7/archive/2022/09/12/16685557.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4785.html

(0)
上一篇 2023-06-05 09:30
下一篇 2023-06-05

相关推荐

  • Python List中的最后一个元素

    Python List中的最后一个元素在Python中,List是一种有序的数据结构,它可以存储多个元素,这些元素可以是不同的数据类型,例如整数、字符串、布尔值、浮点数等等。可以将List看作是一个数组,它支持索引、切片、排序等常见操作。

    2024-01-02
    118
  • PyCharm变量窗口

    PyCharm变量窗口PyCharm是一款广受欢迎的Python集成开发环境,它提供了许多便捷的功能,其中之一便是变量窗口。

    2024-09-04
    16
  • oracle12514监听程序当前无法识别连接描述符_plsql连接oracle监听程序无法识别

    oracle12514监听程序当前无法识别连接描述符_plsql连接oracle监听程序无法识别今天早上我们公司来了之后发现云服务器Oracle都不能用了用plsql连接都报Oracle监听程序当前无法识别连接描述符中请求服务 然后百度一下都是让改监听文件,因为监听文件都是安装数据库的时候自己生

    2023-05-04
    146
  • Python升级版本新特性介绍

    Python升级版本新特性介绍Python作为一门高级编程语言,备受程序员们的喜爱,其简洁、易学、高效的特点在广泛的应用场景中得到了体现。Python的版本更新也一直没有停止。本文将为大家介绍Python升级版本的新特性,包括Python 3.8、Python 3.9和Python 3.10等版本中的新功能、新语法、新模块等,希望对各位开发者有所启发。

    2024-09-16
    28
  • MySQL篇「终于解决」

    MySQL篇「终于解决」2、Mysql 的技术特点是什么? Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多 线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。 3、He

    2023-03-07
    148
  • Python CGI程序:动态生成网页内容

    Python CGI程序:动态生成网页内容
    CGI的全称是Common Gateway Interface,也就是通用网关接口。它是连接Web服务器和CGI脚本(或程序)的接口标准。通过CGI,Web服务器可以将请求连接到后台程序,并且将程序的输出返回到客户端浏览器,实现了Dynamically Generating Web Pages的效果。目前,CGI已经被一些新的更优秀的解决方案所替代,但是CGI仍然是编写交互式Web应用程序的基础技术。

    2024-03-05
    76
  • Python文件读取函数f.read()使用方法

    Python文件读取函数f.read()使用方法f.read()函数用于从文件中读取指定数量的字符并将其作为字符串返回。在使用该函数时,需要先打开要读取的文件,然后调用文件对象的read()方法。

    2024-03-18
    79
  • MYSQL用户权限管理[亲测有效]

    MYSQL用户权限管理[亲测有效]1.在MySQL中,用户是怎么定义的 #mysql中,定义一个用户是: 用户名@’主机域’ #用户名写法: 用户名如果是字符: mysql> create user root@’10.0.0.1′;…

    2023-03-20
    168

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注