数据库:是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。一句话就是存储数据的仓库

数据库的分类:网络数据库、层级数据库、关系结构数据库。

倘若按照数据库的存储介质来分:关系型数据库(存储在磁盘中)、非关系子型数据库(存储在内存中)

关系模型的组成:

  1、关系数据结构:指数据以什么方式来存储,是一种二维表的形式存储

  2、关系操作集合:如何来关联和管理对应的存储数据。SQL指令

  3、关系完整性约束:数据内部有对应的关联关系,以及数据与数据之间也有对应的关联关系

    表内关系:对应的具体列智能存放在对应的数据(不能乱放)

    表间约束:自然界实体都是有对应的关联关系(外键)

典型关系数据库:

  小型关系数据库:Microsoft Access、SQLite

  中型关系数据库:SQL Sever 、Mysql

  大型关系数据库:Oracle、DB2

SQL分类:

  1、数据查询语言(DQL:data query language)

      专门用于查询数据:代表指令为select  、show

  2、数据操作语句(DML:data Manipulation language)

      专门用于写数据:代表指令:insert、update、delete

  3、事务处理语言(TPL)

      专门用于事务安全处理:transaction

  4、数据控制语言(DCL)

      专门用于权限管理:代表指令为grant、revoke

  5、数据定义语言(DDL)

      专门用于结构管理:代表指令create 、 drop(alter)

启动和停止Mysql服务:

  命令行方式:

    net start mysql  开启服务

    net stop mysql  关闭服务

登录和退出Mysql系统:

  登录:

1、 找到mysql.exe(通过cmd控制台:如果在安装的时候指定了mysql.exe所在的路径为环境变量,就可以直接访问;如果没有,那么就必须进入到mysql.exe所在路径)

2、 输入对应的服务器地址:-h:host  -h[IP地址/域名]

3、 输入服务器中Mysql监听的端口: -P:port –P:3306

4、 输入用户名:-u:username -u:root

5、 输入密码:-p:password –p:root

连接认证基本语法:

Mysql.exe/mysql    -h主机地址   -P端口   -u用户名    -p密码

注意事项

1、 通常端口都可以默认:mysql坚挺的端口通常都是3306

2、 密码的输入可以先输入-p,直接换行,然后再以密文方式输入密码

  

  退出:

断开与服务器的连接:通常Mysql提供的服务器数量有限,一旦客户端用完,建议就应该断开连接。

建议方式:使用SQL提供的指令

Exit; //exit带分号

\q; //quit缩写

Quit:

数据库中常用的几个关键字

Row:行

Column:列(field)

数据库的基本操作

1、创建数据库

    基本语法:create database 数据库名称 [库选项] ;

      库选项:数据库的相关属性

      字符集:charset 字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集(如果当前不指定,那么采用DBMS默认的)

      校对集:collate 校对集

      Create database 数据库名字 charset 字符集名称;

2、显示数据库

    显示全部基本语法:show databases;

    显示部分基本语法  show databases like  ‘匹配模式’;

      _:匹配当前位置单个字符

      %:匹配指定位置多个字符

3、显示数据库创建语句

    基本语法  show create database 数据库名字;

4、选择数据库

    基本语法 use 数据库名字;

5、修改数据库

  修改数据库字符集(库选项):字符集和校对集

  基本语法  alter database 数据库名称 charset = 字符集;

6、删除数据库

  基本语法:  drop database 数据库名字;

    删除虽简单,但是切记要做好安全操作:确保里面数据没有问题。(重要)

    删除数据库之后:对应的存储数据的文件夹也会被删除(opt文件也被删除)

数据表的基本操作

1、创建数据表(要有数据库)

  普通创建表

基本语法:create table 表名(字段名 字段类型 [字段属性], 字段名 字段类型 [字段属性],…) [表选项]

  赋值已有表结构

基本语法:create table 新表名 like 表名; //只要使用数据库.表名,就可以在任何数据库下访问其他数据库的表名

从已经存在的表复制一份(只复制结构:如果表中有数据不复制)

2、显示数据表

  显示所有表    show tables;

  匹配显示表    show tables like  ‘匹配模式’;

  显示表结构   本质含义:显示表中所包含的字段信息(名字,类型,属性等)

    Describe 表名

    Desc 表名

    show columns from 表名

  显示创建表语句   查看数据表创建时的语句:此语句看到的结果已经不是用户之前自己输入的。

    show create table 表名;

  

Mysql中有多种语句结束符

;与\g所表示的效果是一样的,都是字段在上排横着,下面跟对应的数据

\G字段在左侧竖着,数据在右侧横着

3、设置表属性

表属性指的就是表选项:engine,charset和collate

基本语法:alter table 表名 表选项 [=] 值;

4、修改表结构

  修改表名  rename table 旧表名 to 新表名;

  修改表选项   alter table 表名 表选项 [=] 新值

  新增字段 alter table 表名 add [column] 新字段名 列类型 [列属性] [位置first/after 字段名]

    字段位置:字段想要存放的位置

    First:在某某之前(最前面),第一个字段

    After 字段名:放在某个具体的字段之后(默认的)

  修改字段名:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置]

  修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置]

  删除字段:alter table 表名 drop 字段名

删除表结构

  基础语法:drop table 表名[,表名2…],可以同时删除多个数据表

数据基础操作

1、插入操作  本质含义:将数据以SQL的形式存储到指定的数据表(字段)里面

  基本语法:向表中指定字段插入数据

  Insert into 表名[(字段列表)] values(对应字段列表)

2、查询操作

  查询表中全部数据:select * from 表名; //*表示匹配所有的字段

  查询表中部分字段:select 字段列表 from 表名; //字段列表使用逗号“,”隔开

  简单条件查询数据:select 字段列表/* from 表名 where 字段名 = 值; //mysql中没有==符号

3、删除操作

  基本语法:delete from 表名 [where 条件]; //如果没有where条件:意味着系统会自动删除该表所有数据(慎用)

4、更新操作  更新:将数据进行修改(通常是修改部分字段数据)

  基本语法:update 表名 set 字段名 = 新值 [where 条件];//如果没有where条件,那么所有的表中对应的那个字段都会被修改成统一值。

字符集:

Mysql.exe如果告知Mysqld.exe对应的字符集类型为gbk?  set names gbk;

快捷方式:set names 字符集

  

SQL 1 数据库 表的操作的更多相关文章

  1. SQL SERVER 数据库表同步复制 笔记

    SQL SERVER 数据库表同步复制 笔记 同步复制可运行在不同版本的SQL Server服务之间 环境模拟需要两台数据库192.168.1.1(发布),192.168.1.10(订阅) 1.在发布 ...

  2. 修改SQL Server数据库表的创建时间最简单最直接有效的方法

    说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,因为这种操作方式是通用的,即使是对现在最新的SQL Server数据库里面的操作也是一 ...

  3. 千万级SQL Server数据库表分区的实现

    千万级SQL Server数据库表分区的实现 2010-09-10 13:37 佚名 数据库 字号:T | T 一般在千万级的数据压力下,分区是一种比较好的提升性能方法.本文将介绍SQL Server ...

  4. 对于超大型SQL SERVER数据库执行DBCC操作

    原文:对于超大型SQL SERVER数据库执行DBCC操作 对于数据库维护,主要使用DBCC CHECKDB来实现,以下是对大型数据库的使用说明,小型数据库一般直接使用就可以了: 1.2008(200 ...

  5. EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的

    我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...

  6. 第二百七十八节,MySQL数据库-表内容操作

    MySQL数据库-表内容操作 1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名. ...

  7. MySQL数据库(3)_MySQL数据库表记录操作语句

    附: MYSQL5.7版本sql_mode=only_full_group_by问题 .查询当前sql_mode: select @@sql_mode .查询出来的值为: set @@sql_mode ...

  8. SQL Server 数据库表的管理

    上一篇文章简单梳理了一下SQL Server数据库的安装和基本操作,这篇文章主要讲述一下数据库表的管理 一.数据库的创建 有关数据库的创建有两种方式,一种是通过视图创建,第二种就是通过T-SQL语句来 ...

  9. SQL Server 数据库的鼠标操作

    在数据库中一些操作用鼠标进行可视化操作更方便快捷 一 SQL Server 开启 任务栏——任务管理器——服务——MSSQLSERVER 开启 我的电脑——控制面板——管理工具——服务——MSSQLS ...

随机推荐

  1. COUNT 和 IFNULL函数

    用COUNT函数: mysql> SELECT count(one) FROM tb_test;+------------+| count(http://www.amjmh.com/v/BIBR ...

  2. scrapy-splash常用设置

    # Splash服务器地址 SPLASH_URL = 'http://localhost:8050' # 开启Splash的两个下载中间件并调整HttpCompressionMiddleware的次序 ...

  3. EF2:Entity Mysql Sample

    1)概念 Entity Framework: 全称ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架.百 ...

  4. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_07 Collections工具类_3_Collections集合工具类的方法

    第二个参数传递了一个匿名内部类.结果就出现了下面的代码 源码里面有Compare方法,对比两个参数 要重写比较的方法 对对象进行排序 创建学生类.对学生类进行排序 重写Person的ToString方 ...

  5. jmeter之分布式压测

    很多性能大牛说一台机器的压测其实不准确,于是搜索网上的分布式压测练习了一番 目录 1.环境准备 2.控制机和压测机配置 3.执行分布式压测 1.环境准备 1.1准备一台windows作为控制机(mas ...

  6. 类HashSet

    /* * Collection * * List * 有序(存储顺序和取出顺序一致),可以重复 * * Set * 无序(存储顺序和取出顺序不一致),唯一 * * */ import java.uti ...

  7. BIN转换成HEX格式及HEX转换成BIN的两个函数接口

    unsigned char HEX2BYTE(unsigned char hex_ch) { ') { '; } if (hex_ch >= 'a' && hex_ch < ...

  8. OpenResty json 删除转义符

    OpenResty 中删除 json 中的转义符 cjson 在 encode 时  “/” 会自动添加转义符 “\”: 在 decode 时也会自动将转义符去掉.工作中有个特殊需求,需要手工删除转义 ...

  9. Java 基础-类与面向对象

    类 Object 类(java.lang.Object)是所有 Java 类的直接或间接父类. 成员方法及变长参数 方法定义: [public | protected | private] [stat ...

  10. Zuul网关过滤器中转发头信息不起作用

    大家应该都知道在做Zuul网关过滤的时候,如果不在网关过滤时转发头信息,经过网关时头信息就会丢失. 但我用 addZuulRequestHeader转发头信息时,却不起作用,在子服务的controll ...