1.数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

2.RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
  1).数据以表格的形式出现
  2).每行为各种记录名称
  3).每列为记录名称所对应的数据域
  4).许多的行和列组成一张表单
  5).若干的表单组成database

3.RDBMS 术语
数据库:       数据库是一些关联表的集合。.
数据表:       表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列:              一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行:            一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

冗余:    存储两倍数据,冗余可以使系统速度更快。(表的规范化程度越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询;而进行连接操作会降低查询速度。例如,学生的信息存储在student表中,院系信息存储在department表中。通过student表中的dept_id字段与department表建立关联关系。如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。如果经常需要进行这个操作时,连接查询会浪费很多的时间。因此可以在student表中增加一个冗余字段dept_name,该字段用来存储学生所在院系的名称。这样就不用每次都进行连接操作了。)

主键:    主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键:    外键用于关联两个表。
复合键:   复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:     使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性:   参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

4.mysql的使用
1)show databases;                          #显示数据库

2)use <数据库名>;                           #  连接数据库

3)show tables;                                  #显示表

4)desc <表名>;                                #查看表结构 ,也可以用show columns from <表名>;

5)selsct * from <表名>;                        #查看表数据

6)selsct * from <表名>\G                       #查看表数据(显示内容清晰)不用加 ;

7)grant all on *.* to 'username'@'localhost' identified by 'passwd';       #  创建用户以及设置权限 all是赋予所有权限

8)create database <数据库名>;                   #创建数据库

9)create table student(
    id int auto_increment,
    name char(32) not null,
    age int not null,
    register_date date not null,
    primary key(id));
#创建一个简单的表

10)show create database <数据库名>;                      #查看数据库的character

11)create database <数据库名> charset utf8;                    #创建数据库并设置character为utf-8

12)drop table <表名>;                               #删除表

13)drop database <数据库名>;                           #删除数据库

14)select * from <表名> limit 3 offset 2;                       #从第三个开始查询限制(limit)3个

15)select * from <表名> where register_date like '2018-04%';            #查找register_date为2018-04的所有数据

16)update <表名> set name='海上',age=34 where id=5;               #修改id为5的name和age为'海上'、'34'

17)delete from <表名> where id>4;                         #删除id>4的所有数据

18)select * from <表名> order by id asc/desc;                   #查询的表是id的升序(asc)/倒序(desc)

19)select name ,count(*) as stu_num from <表名> group by name;            #选择name属性并统计整个表格(count(*)) 按name进行分组统计数量一列命名为stu_num

20)select name ,sum(age) from <表名> group by name;                #统计相同名字的年龄总和并按照name分组

21)select coalesce(name,'总年龄') ,sum(age) from <表名> group by name with rollup;#统计相同名字的年龄总和并按照name分组,在最后一行显示所有总数,coalesce作用是命名

22)alter table <表名> add sex int(11) not null;                     #添加sex字段并且不能为空

23)alter table <表名> drop sex;                           #从student表删除sex字段

24)alter table <表名> modify sex <字段类型> not null;                 #修改字段sex不能为空,在修改前sex字段必须不能是空的

25)alter table <表名> change sex gender char(32) not null default 'X';          #更改字段sex为gender,数据类型为char(32),且不能为空,默认数值为'X'

mysql命令大全
http://www.jb51.net/article/74564.htm

mysql学习 1的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  4. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  6. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  7. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  8. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  9. 我的MYSQL学习心得(九) 索引

    我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  10. 我的MYSQL学习心得(十) 自定义存储过程和函数

    我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...

随机推荐

  1. 利用Axis2默认口令安全漏洞入侵WebService网站

    近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令 ...

  2. Centos7 执行firewall-cmd –permanent –add-service=mysql报错“ModuleNotFoundError: No module named 'gi'”

    因为目前环境Python3.x与Python2.x版本并存,所以导致以上问题. 解决方法: 第一步,vim  /usr/bin/firewall-cmd, 将#!/usr/bin/python -Es ...

  3. jQuery添加新的元素

    append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 $(&quo ...

  4. keyup.enter.native&click.native.prevent

    vue 监听键盘回车事件 @keyup.enter || @keyup.enter.native vue运行为v-on在监听键盘事件时,添加了特殊的键盘修饰符: <input v-on:keyu ...

  5. 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

    这是在复制代码的时候,没有修改路径,但是IDEA没有报错,还会爆出 WARN ework.web.servlet.PageNotFound - No mapping found for HTTP re ...

  6. "SetDestination" can only be called on an active agent that has been placed on a NavMesh. 解决办法

    1.设置了 navmesh之后 要bake 也就是烘焙之后 才有效果 2.在unity 中 window->navigation     4.基本上问题应该得以解决:    

  7. [tyvj2054] 四叶草魔杖 (最小生成树 状压dp)

    传送门 Background 陶醉在彩虹光芒笼罩的美景之中,探险队员们不知不觉已经穿过了七色虹,到达了目的地,面前出现了一座城堡和小溪田园,城堡前的木牌上写着"Poetic Island&q ...

  8. Swoole 源码分析——基础模块之 Pipe 管道

    前言 管道是进程间通信 IPC 的最基础的方式,管道有两种类型:命名管道和匿名管道,匿名管道专门用于具有血缘关系的进程之间,完成数据传递,命名管道可以用于任何两个进程之间.swoole 中的管道都是匿 ...

  9. buntu Rhythmbox解决中文乱码

    Ubuntu Rhythmbox解决中文乱码 在这里介绍的是一个解决方法,修改变量. 在终端输入: gedit ~/.profile 在最后加入下面内容: exportGST_ID3_TAG_ENCO ...

  10. python 在爬虫中timeout设置超时有什么作用

    是为了防止url不可访问,或者响应速度太慢而造成的时间浪费. 比如,你要爬取1000个网站,如果有100个需要30s才能返回数据,你等待他们返回的话就需要3000s了,如果你设置10s超时,那么就能知 ...