MySQL基础知识

第一次写文章如果有看不懂的地方请大家在评论提出,

(本文章只适用于初学者)

1、数据库是什么

2、RDBMS

3、SQL

4、My SQL

5、服务端与客户端

5.1、服务端的操作

5.2、客户端的操作

6、数据类型与约束

7、数据库的备份与恢复

8、SQL语言

8.1、查询编辑器

8.2、数据表操作

8.3、数据操作-增删改

1.数据库是什么数据库是存储有组织(结构化)的数据,为了高效的查询。

2.RDBMS关系型数据库系统

关系型数据库的核心:用表存储数据

行:一条记录,代表一个事物信息

列:字段,代表一个事物的某一个特征(属性)

表:存储同一种事物的集合

仓库:由n个表组成

3.SQL结构化查询语言,操作关系型数据库

不区分大小写,select,SELECT,SELEct

4.My SQL由瑞典My SQL AB公司开发,后来被sun公司收购,sun公司后来又被oracle公司收购,目前属于oracle旗下产品

开源、免费、支持多平台。

5.服务端与客户端MySQL是服务端,提供操作数据的服务

Navicat是客户端,提供界面,先链接服务端,操作mysql的数据

5.1 服务端的操作

找到mysql的服务。控制面板-管理工具-服务

MySQL有启动、停止、重启服务

5.2 客户端的操作

链接服务端

MySQL必须是已经启动状态

需要IP,端口,用户名,密码

数据库操作

-新建仓库

-使用仓库

-编辑仓库

-删除仓库

数据表操作

-新建表

-修改表(重命名)

-设计表

(添加字段)

(修改字段)

(删除字段)

-删除表

数据的操作

-增

-删

-改

-查(打开表)

想在关系型数据库存数据,先有仓库,再有表,再存数据

6.数据类型与约束数据类型

  整数:int默认有符号(可以存负数),无符号(不能存负数),长度没有意思

  小数:decimal,(5,3),整数占2位,小数点后占3位

  字符串:varchar,一个数字或一个字母或一个标点符号或一个中午占一个字符

  日期时间:datetime,格式:2020-0402 00:00:00

  主键:(primary key):唯一的标识一条数据,如果某个字段设置为主键,这列值唯一且不能为空,通常一个表会有一个ID字段,设置为主键,通常设置为自动递增(从1开始自动增长),设置为无符号

  ID字段:主键,无符号的int,自动递增

  非空:字段不允许为空,不填写值,显示为(null),是空,字符串不是空

  惟一(unique):此字段的值不允许重复,SQL语法会提到

  默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准,给varchar或datetime字段设置默认值时,必须用英文引号

  外键:(foreign key):维护两个表之间的关联关系,SQL语法会提到

7.数据库的备份与恢复备份

右键点击某个仓库-转储SQL文件-结构和数据

恢复

右键点击某个仓库-允许SQL文件-选择之前备份的文件

8.SQL语言8.1  查询编辑器

某个仓库-查询-右键点击-新建查询

每一天SQL语句结尾需要一个英文分号

注释SQL语句:ctrl+/

        取消注释:ctrl+shift+/

8.2  数据表操作

创建表

语法:

create table 表名(字段名  类型  约束, 字段名  类型  约束,

.......)

例:创建学生表,字段要求如下

姓名(长度为10)

create table students(name varchar(10));

例:创建学生表,字段要求如下

姓名(长度为10),年龄

create table students2(name varchar(10),age int);

例:创建学生表,字段要求如下

姓名(长度为10),年龄,身高(保留小数点2位)

要一个主键字段:ID,无符号的整数,主键,自动递增

create table students3(

id int unsigned primary key auto_increment,

neme varchar(10)

age int,

height decimal(5,2));

删除表

语法:

语法一:drop table 表名

语法二:drop  table exists 表名

例:删除学生表

drop table students;

(如果表不存在,会报错)

drop table exists students2;

(如果表不存在,不会报错)

8.3  数据操作-增删改

添加一行数据

语法一:所有字段设置值,值的顺序与表中字段顺序相对应

insert into 表名values (值1,值2)

例:插入一个学生,设置所有字段信息

insert into students3 values(1,'亚瑟',12,123.44);

主键列是自动增长,插入是需要占位,通常使用0或者default或者null来占位

insert into students3  values (0,'亚瑟',12,123.2);

insert into students3  values (default,'亚瑟',12,123.2);

insert into students3  values (null,'亚瑟',12,123.2);

语法二:部分字段设置值,值得顺序与给出的字段顺序对应

insert into 表名(字段1,字段2)values(值1,值2);

例:插入一个学生,只设置姓名

insert into students3(name) values ('鲁班大师智商250')

插入一个学生,只设置姓名和年龄

insert into students3 (age,name)values (88,'夏侯惇')

添加多行数据

语法一:写多条insert语句,语句之间用英文分号隔开

insert into students3  values (default,'亚瑟',12,123.66);

insert  into  students3 (name)values('黄忠');

insert  into  students (age,name)values (42,'孙策');

语法二:写一条insert语句,设置多条数据,数据之间用英文逗号隔开

insert into students3 values(null,'钟无艳',11,221),(null,'老夫子',22,331),(null,'煤气罐',33,441);

insert into students3(age,name)values (233,'鲁班'),(244,'鲁班2'),(211,'鲁班6');

插入数据时,设置值为空字符串

insert into students3(age,name)values(111,'');    (第二个值我没有填写即是null(为空))

                                                         

                                          最后希望大家每天都过得更加充实,晚安!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、数据库和****sql** SQL****的语句种类 DDL Date define language.数据定...
    S数据分析阅读 2,767评论 0 0
  • 启动 mysql$ mysql -uroot -p -P3306 -h127.0.0.1-u ,--user=na...
    假装正在输入阅读 3,945评论 0 6
  • 1 什么是MySQL? 2有什么作用? 3 常用的操作 1--- 库级基本操作 1.创建数据库create dat...
    草鞋弟阅读 1,768评论 0 0
  • 一、数据定义语言DDL 二、数据操作语言DML 三、数据查询语言DQL 四、数据控制语言DCL 数据控制语言DCL...
    李静数据分析阅读 2,444评论 1 1
  • 一、什么是数据库 ?数据库是按照数据结构来组织,存储和管理数据的仓库,数据库是存储数据的集合的单独的应用程序。每个...
    wujimozun阅读 1,397评论 0 0