zoukankan      html  css  js  c++  java
  • Mysql数据库入门

    数据库:简单来说可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。

    数据库:指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合

    数据库的分类

    1.关系型数据库SQL:创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

    2.非关系型数据库NOSQL:Not Only SQL简称NoSQL,相对SQL来讲,关联性相对更自由.限制也较少. 可以更自由的使用

    下面主要介绍关系型数据库(以mysql 为例)

    关系模型:就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server、MicrosoftAccess、MySQL、浪潮K-DB等

    关系型数据库管理系统:数据库管理系统通过调用操作系统的进程管理、内存管理、设备管理以及文件管理等服务,为数据库用户提供管理、控制数据库容器中各种数据库对象,数据库文件的接口。

    MYSQL数据库:小型关系型数据库管理系统,被广泛地应用在Internet上的中小型网站中。

    MySQL主要特性:

    1. 使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植
    2. 支持AIX、FreeBSD、HP-UX、Linux、MacOS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
    3. 为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
    4. 支持多线程,充分利用CPU资源
    5. 优化的SQL查询算法,有效地提高查询速度
    6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
    7. 提供TCP/IP、ODBC和JDBC等多种数据库连接途径
    8. 提供用于管理、检查、优化数据库操作的管理工具
    9. 可以处理拥有上千万条记录的大型数据库

    以上就是关于mysql 及数据库的大体介绍,想要了解更多的话请自行百度吧!下面让我们来正式学习mysql,首先肯定是安装它了。Let’s go !!!

    学习第一步:安装mysql :(提供以下链接)http://www.cnblogs.com/xxoome/p/5864912.html

    学习第二步:苦逼的学习各种命令操作

    注意事项:

    1.数据库里面才包含多个数据表

    2.自动补全是客户端命令,必须切换到数据库下才能使用

    3.sql语句一般是大写,但是小写也能识别(下面写为小写是为了更好的阅读)

    4. 语句末尾必须加分号

    5.命令可以上下翻,像shell 环境一样

    6.默认有四个数据库

    • information_schema
    • mysql
    • performance_schema
    • test

    7.行称之为记录,列称之为字段或属性

    *************************1**************************
    查看版本    mysql -V 
    登录MySQL   mysql -u 用户名 -p 密码 -P 端口号(默认为3306)
    显示当前用户   SELECT USER(); 
    查看数据库    show databases; (show create database db; #显示数据库详细信息)
    创建数据库   create database db_name;
    删除数据库   drop  database db_name; //选择当前要操作的数据库
    选择数据库     use db_name;  //也就是进入某个数据库
    *************************2**************************
    
    查看在哪个数据库:  select database() ;
    查看所有的数据表:  show tables;
    查看某一个数据表:   desc table_name;(show create table table_name; # 显示详细表结构)
    创建表: create table table_name(<列名><数据类型>[<列级完整性约束条件>]
    [,<列名><数据类型>[<列级完整性约束条件>]...
    [,<表级完整性约束条件>]);
    修改表: alter table old_table_name rename new_table_name; # 修改表名
    删除表:  drop table table_name;
    查看表的结构:SHOW COLUMNS  FROM tb1 ;
    插入记录: INSERT INTO tb1  (num) VALUES(1000); 
    查看所有的记录:SELECT  *   FROM  tb1 ;
    修改数据: update tb_name set fd_name1=condition1[,fd_name2=condition2...] [where cond];
    删除数据: delete from tb_name [where condition]; //不加条件删除整张表的记录
    修改表: alter table old_table_name rename new_table_name; // 修改表名
    alter table tb_name modify field_name <数据类型>[<完约>[first|after filed_name]] ;// 修改字段数据类型(同时也可修改位置)
    alter table table_name change old_field_name new_field_name <数据类型>;// 修改字段名(同时也可修改数据类型(不管修改与否,此项必填),即完成modify功能)
    alter table table_name add field_name <数据类型>[<完约>[first|after filed_name]] ;// 为表增加字段(可指定位置)
    alter table tb_name1 add constraint fk foreign key(field1) references tb_name2(field2);// 增加表的外键,fk为外键名
    alter table table_name drop foreign key fk;// 删除表的外键,fk为外键名
    删除表:drop table table_name;

    更多命令。请自行百度!

    操作截图 :


    这里写图片描述
    这里写图片描述

    学习第三步:了解关键概念

    主键约束:主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键(一个表只允许有一个主键),,主健可作外健,唯一性约束不可。

    外键约束: 空值或参照的主键值,删除或修改主键表记录时,你可以在建外键时选定外键记录一起级联操作还是拒绝操作。

    唯一性约束: 唯一性约束用来限制不受主键约束的列上的数据的唯一性(允许为空),用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束。

    入门估计也就这些了吧!想要熟练使用还在于多多上手啊!!!下篇博客介绍如何用C语言连接数据库,期待哦@@@

  • 相关阅读:
    (原创)分享一下最近搞的tiny210V2从nand启动支持(K9GAG08U0F).
    (转)uboot 与系统内核中 MTD分区的关系
    (转)mkimage制作linux内核映像 即uImage是怎么制作的
    ExtJs 一些属性备忘录
    CSS 元素选择器
    为什么匿名内部类参数必须为final类型
    Unbuntu 14.04 64位 搭建交叉编译环境
    eclipse调试运行
    Linux中cat命令的用法
    android之json
  • 原文地址:https://www.cnblogs.com/Tattoo-Welkin/p/10335335.html
Copyright © 2011-2022 走看看