图片 11

表及表数据,SQLServer数据库增删改查

1、B+树基本概念

一、数据库定义

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库的操作分为两种形式:一种是直接在数据库管理工具图形化界面进行操作;一种是使用数据库脚本进行操作,数据库脚本可以直接在数据库管理工具中操作,也可以在dos命令窗口中操作。

今日内容介绍
1.MySQL数据库
2.SQL语句

  B+树的语言定义比较复杂,简单的说是为磁盘存取设计的平衡二叉树

二、数据库创建

方式一:数据库图形化管理工具创建数据库步骤:右键点击数据库-》点击新建数据库-》输入数据库名称,可自定义数据库所有者(设置哪些人可以使用数据库)、逻辑名称、初始大小(数据库初始化大小)、自增长大小(数据库新增数据的时候以每次多大存储量增长)、路径(数据库数据文件路径,关系到以后的数据库备份,迁移,还原等操作)、文件名(数据库的文件名称)、日志等属性,左上角的选项和常规可以使用系统默认的-》点击确定即可创建数据库

图片 1

图片 2

方式二:数据库脚本创建数据库步骤:编写脚本-》在数据库管理工具中执行脚本-》刷新数据库即可显示;

 

 1 --创建数据库
 2 create database testss
 3 on 
 4 (
 5     name='testss',
 6     filename='D:\SqlTest\blog\testss.mdf',
 7     size=10240kb,
 8     maxsize=102400kb,
 9     filegrowth=1024kb
10 )
11 log on
12 (
13     name='testlog',
14     filename='D:\SqlTest\blog\testlog.ldf',
15     size=10240kb,
16     maxsize=102400kb,
17     filegrowth=1024kb
18 )
19 go

 

 

创建结果示例如下:

图片 3

01数据库概念

  • A: 什么是数据库
  • 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,

    用户可以对数据库中的数据进行增加,修改,删除及查询操作。
    
  • B: 什么是数据库管理系统

  • 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,
    对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。
    

图片 4

三、数据库删除

方式一:直接在数据库管理工具中右键-》选择删除

图片 5

 

方式二:在数据库管理工具中数据脚本:drop
database 数据库名

02常见的数据库

* A: 常见的数据库
        MYSQL   :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
        Oracle  :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。
        DB2     :IBM公司的数据库产品,收费的。常应用在银行系统中.
        SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
        SyBase  :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
        SQLite  : 嵌入式的小型数据库,应用在手机端。
        Java相关的数据库:MYSQL,Oracle.
        这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方

  网上经典图,黄色p1 p2
p3代表指针,蓝色的代表磁盘,里面包含数据项,第一层17,35,p1就代表小于17的,p2就代表17-35之间的,p3就代表大于35的,可是需要注意的是,第三层才是真实的数据,17、35都不是真实数据,只是用来划分数据的!

四、数据库修改

方式一:选中数据库-》右键-》选择重命名-》输入数据库新名称

图片 6

方式二:在数据库管理工具中输入脚本修改:exec
sp_renamedb ‘testss’,’test1’或者alter database test1 modify
name=test2 

图片 7

03数据库和管理系统

* A: 数据库管理系统
        ----数据库1
            ----数据表1a
            ----数据表1b
        ----数据库2
            -----数据表2a
            -----数据表2b

2、为什么使用B+树

五、查数据库查看

方式一:在数据库管理工具中选中数据库-》右键属性-》查看数据库相关配置信息

图片 8

图片 9

方式二:在数据库管理工具中输入数据库脚本查看,一下列举几种常用的数据库查看信息

–使用目录视图查看数据库信息
–使用sys.database_files查看有关数据库文件的信息
select * from
sys.database_files;
–使用sys.filegroups查看有关数据库组的信息
select * from sys.filegroups;
–使用sys.master_files
查看数据库文件的基本信息和状态信息
select * from sys.master_files;
–使用sys.databases
数据库和文件目录视图查看有关数据库的基本信息
select * from sys.databases where
name=’testss’;

图片 10

 

–使用函数查看数据状态
use testss
select
databasepropertyex(‘test2′,’Status’) as ‘test数据库状态’

图片 11

04数据表和Java中类的对应关系

* A:数据库中以表为组织单位存储数据。
    表类似我们的Java类,每个字段都有对应的数据类型。
    那么用我们熟悉的java程序来与关系型数据对比,就会发现以下对应关系。
        类----------表
        类中属性----------表中字段
        对象----------记录

  B+树有什么好处我们非要使用它呢?那就先要来看看mysql的索引

六、数据库优缺点

优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。

缺点:1开放性。只能运行在微软的windows平台,没有丝毫的开放性可言。

     
2可伸缩性,并行性。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
     
3性能稳定性。SQLServer当用户连接多时性能会变的很差,并且不够稳定。
     
4使用风险。SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
      5客户端支持及应用模式。只支持C/S模式。

05数据表和Java中类的对应关系用户表举例

* A:举例:
账务表
id      name        age 
1       lisi        23
2       wang        24

每一条记录对应一个User的对象
[user1  id = 1 name = lisi  age = 23]
[user2  id = 2 name = wang  age = 24]

 

06MySQL数据库安装

A: 安装步骤参见 day28_source《MySQL安装图解.doc》
B: 安装后,MySQL会以windows服务的方式为我们提供数据存储功能。开启和关闭服务的操作:
    右键点击我的电脑→管理→服务→可以找到MySQL服务开启或停止。

  2.1mysql索引

07数据库在系统服务

* A:开启服务和关闭服务
方式1: 我的电脑-----> (右键)管理---->服务和应用程序---->服务----找到MySQL服务右键启动或关闭 
方式2: 进入dos窗口 使用命令: net start mysql 开启MySQL服务;  命令:net stop mysql 关闭MySql服务

    试想一下在mysql中有200万条数据,在没有建立索引的情况下,会全部进行扫描读取,这个时间消耗是非常恐怖的,而对于大型一点的网站来说,达到这个数据量很容易,不可能这样去设计

08MySQL的登录

* A: MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。
    格式1:cmd>  mysql –u用户名 –p密码
    例如:mysql -uroot –proot

    格式2:cmd>  mysql --host=ip地址 --user=用户名 --password=密码
    例如:mysql --host=127.0.0.1  --user=root --password=root

    在我们创建数据库表的时候,大家都知道一个东西叫做主键,一般来讲数据库会自动在主键上创建索引,这叫做主键索引,来看看索引的分类吧

09SQLYog软件介绍

* A: 具体参见 《SQLYog配置.doc》

    a.主键索引:int优于varchar

10SQL语句介绍和分类

  • A:SQL介绍
    • 前面学习了接口的代码体现,现在来学习接口的思想,接下里从生活中的例子进行说明。
    • 举例:我们都知道电脑上留有很多个插口,而这些插口可以插入相应的设备,这些设备为什么能插在上面呢?
    • 主要原因是这些设备在生产的时候符合了这个插口的使用规则,否则将无法插入接口中,更无法使用。发现这个插口的出现让我们使用更多的设备。
  • B: SQL分类
    • 数据定义语言:简称DDL(Data Definition
      Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
    • 数据操作语言:简称DML(Data Manipulation
      Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
    • 数据控制语言:简称DCL(Data Control
      Language),用来定义数据库的访问权限和安全级别,及创建用户。
    • 数据查询语言:简称DQL(Data Query
      Language),用来查询数据库中表的记录。关键字:select,from,where等
  • C: SQL通用语法

      SQL语句可以单行或多行书写,以分号结尾
      可使用空格和缩进来增强语句的可读性
      MySQL数据库的SQL语句不区分大小写,建议使用大写,例如:SELECT * FROM user。
      同样可以使用/**/的方式完成注释
    

    b.普通索引(INDEX):最基本的索引,没有限制,加速查找

11数据表中的数据类型

* A:MySQL中的我们常使用的数据类型如下  
    详细的数据类型如下(不建议详细阅读!)
    分类  类型名称    说明 
    整数类型    tinyInt 很小的整数
        smallint    小的整数
        mediumint   中等大小的整数
        int(integer)    普通大小的整数
    小数类型    float   单精度浮点数
        double  双精度浮点数
        decimal(m,d)    压缩严格的定点数
    日期类型    year    YYYY  1901~2155
        time    HH:MM:SS  -838:59:59~838:59:59
        date    YYYY-MM-DD 1000-01-01~9999-12-3
        datetime    YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
        timestamp   YYYY-MM-DD HH:MM:SS  1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC
    文本、二进制类型    CHAR(M)         M为0~255之间的整数
        VARCHAR(M)      M为0~65535之间的整数
        TINYBLOB    允许长度0~255字节
        BLOB        允许长度0~65535字节
        MEDIUMBLOB  允许长度0~167772150字节
        LONGBLOB    允许长度0~4294967295字节
        TINYTEXT    允许长度0~255字节
        TEXT        允许长度0~65535字节
        MEDIUMTEXT  允许长度0~167772150字节
        LONGTEXT    允许长度0~4294967295字节
        VARBINARY(M)允许长度0~M个字节的变长字节字符串
        BINARY(M)   允许长度0~M个字节的定长字节字符串

    c.唯一索引(UNUQUE):听名字就知道,要求所有类的值是唯一的,但是允许有空值

12创建数据库操作

* A: 创建数据库
    格式:
        * create database 数据库名;
        * create database 数据库名 character set 字符集;
    例如:
    #创建数据库 数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8
    CREATE DATABASE day21_1; 
    #创建数据库 并指定数据库中数据的编码
    CREATE DATABASE day21_2 CHARACTER SET utf8;

* B: 查看数据库
    查看数据库MySQL服务器中的所有的数据库:
    show databases;
    查看某个数据库的定义的信息:
    show create database 数据库名;
    例如:
    show create database day21_1;

* C: 删除数据库
    drop database 数据库名称;
    例如:
    drop database day21_2;

* D: 其他的数据库操作命令
    切换数据库:
    use 数据库名;
    例如:
    use day21_1;

* E: 查看正在使用的数据库:
    select database();

    d.组合索引:

13创建数据表格式

* A:格式:
    create table 表名(
       字段名 类型(长度) 约束,
       字段名 类型(长度) 约束
    );
    例如:
    ###创建分类表
    CREATE TABLE sort (
      sid INT, #分类ID 
      sname VARCHAR(100) #分类名称
    );
1 CREATE INDEX name_age_address_Index ON `student`(`name`, `age`, `address`);

14约束

* A: 约束的作用:
    create table 表名(
           列名 类型(长度) 约束,
           列名 类型(长度) 约束
        );
        限制每一列能写什么数据,不能写什么数据。

* B: 哪些约束:
        主键约束
        非空约束
        唯一约束
        外键约束

    在这里实际上包含三个索引,说到组合索引,一定要讲最左前缀原则

15SQL代码的保存

* A: 当sql语句执行了,就已经对数据库进行操作了,一般不用保存操作
    在SQLyog 中Ctrl + S 保存的是写sql语句。

 

16创建用户表

* A: 创建用户表:
    需求:创建用户表,用户编号,姓名,用户的地址

    * B: SQL语句
    CREAT TABLE users (
        uid INT,
        uname VARCHAR(20),
        uaddress VARCHAR(200)
    );

17主键约束

* A: 主键是用于标识当前记录的字段。它的特点是非空,唯一。
    在开发中一般情况下主键是不具备任何含义,只是用于标识当前记录。
* B: 格式:
    1.在创建表时创建主键,在字段后面加上  primary key.
    create table tablename( 
    id int primary key,
    .......
    )

    2. 在创建表时创建主键,在表创建的最后来指定主键   
    create table tablename(                     
    id int,
    .......,
    primary key(id)
    )

    3.删除主键:alter table 表名 drop primary key;
    alter table sort drop primary key;

    4.主键自动增长:一般主键是自增长的字段,不需要指定。
    实现添加自增长语句,主键字段后加auto_increment(只适用MySQL)

发表评论

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

标签:
网站地图xml地图