Sql语言(基础一)

       我们今天开始接触一种新的语言Sql语言,在21世纪,最有价值的便是数据,那我们是不是应该把这些数据拿一些数据储存起来呢,Sql语言就是这么一个存储数据的容器,今天我们来探一探Sql的庐山真面目!!!

数据库概述

1.为什么学习数据库:

实现数据持久化到本地;

使用完整的管理系统统一管理,可以实现结构化查询,方便管理;

2.数据库的相关概念:

  • DB:数据库(DataBase 存储数据的容器,它保存了一系列有组织的数据。
  • DBMS:数据库管理系统(DataBase Management System又称为数据库软件或数据库产品,用于创建或管理DB
  • SQL:结构化查询语言(Structure Query Language用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的
  • 主流数据库软件通用的语言。

3.根据不同的数据类型可以分为:

关系型数据库:

  • 关系型数据库管理系统称为RDBMSRRelation
  • Oracle:功能强大,收费.
  • MySQL 快捷、可靠 开源、免费
  • SQL Server(微软): 只能安装在Windows操作系统
  • DB2 (IBM)
非关系型数据库:
  • MongdoDB
  • Redis
● MySQL 语法规范
  • 不区分大小写,建议关键字大写,表名、列名小写
  • 每句话用;
注释
  • 单行注释:#注释文字
  • 单行注释:
  • 注释文字(要有空格)
  • 多行注释:
  • /*注释文字 */

 DDL

数据(结构)定义语言DDL(Data Definition Language),是用于创建和修改数据库表结构的语言。

常用的语句:create ,alter,drop,rename

创建数据库并设置编码格式
CREATE DATABASE [if not exists] 数据库名 [ CHARSET utf8]

 删除数据库

DROP DATABASE 数据库名 / [IF EXISTS数据库名];

修改字符集
ALTER DATABASE 数据库名 CHARSET gbk;
数据库存储数据的特点
  • 将数据放到表中,表再放到库中
  • 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的设计。
  • 表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列类似java中的”属性”
  • 表中的数据是按行存储的,每一行类似于Java中的“对象”。

设计表数据类型 

  • charn) 长度为n的定长字符串
  • varchar(n) 最大长度为n的可变长字符串
  • date 日期,
  • 包含年月日
  • datetime 年月日 时分秒
主键:
在一张表中代表唯一的一条记录 , 不能为空 , 不能重复
约束:
PRIMARY KEY 设置主键约束
NOT NULL 不能为空约束
UNIQUE 唯一性约束
检查约束   CHECK  (设置条件)
外键约束
主键自动增长     AUTO_INCREMENT
默认值     DEFAULT default_value
字段注释 :      comment '注释 '
删除表
DROP TABLE [if exists ]表名
修改表名
RENAME TABLE 旧表名 TO 新表名
复制表结构
CREATE TABLE 新表名 LIKE 被复制表名;
插入数据
方式 1: INSERT INTO 表名 ( 1, 2……, n) VALUES( 1, 2….., n);
方式 2: INSERT INTO 表名 set 列名 1= 1,.. 列名 n= n;
方式 3: INSERT INTO 表名 ( 1, 2……, n) VALUES( 1, 2….., n),( 1, 值2…..,值 n);
方式 4:INSERT INTO 表名 ( 1, 2……, n) 查询语句 ( 查询的列数与插入列数匹配 )
修改数据
UPDATE 表名 SET 列名 = ‘新值’ WHERE 条件
删除数据
DELETE FROM 表名 WHERE 条件
TRUNCATE TABLE 表名 ; 清空整张表

小练: 

 

 

CREATE DATABASE baseketballteam;
CREATE TABLE basketball(
球队编号 INT PRIMARY KEY,
球队名称 VARCHAR(5),
所在地  VARCHAR(5)
)

CREATE TABLE basketmember(
编号 INT PRIMARY KEY AUTO_INCREMENT,
名字 VARCHAR(10),
生日 DATE,
身高 DOUBLE(3,2) CHECK(身高>1.8),
体重 INT,
位置 VARCHAR(5)
)

 #drop table basketmember
INSERT INTO basketmember(名字,生日,身高,体重,位置)
VALUES('德怀恩.韦德','1982-1-17',1.93,96,'null'),
      ('勒布朗.詹姆斯','1984-12-30',2.03,113,'前锋'),
      ('科比.布莱恩特','1978-8-23',1.92,99,'后卫'),
      ('德科.诺维斯基','1978-6-19',2.13,111,'null'),
      ('艾里斯.保罗','1985-5-6',1.82,79,'后卫'),
      ('托尼.帕克','1982-5-17',1.87,83,'后卫'),
      ('凯文.加内特','1981-7-14',2.12,113,'null'),
      ('保罗.皮尔斯','1977-10-13',2.00,106,'前锋'),
      ('迈克尔.乔丹','1963-2-17',1.98,98,'前锋'),
      ('德怀特-霍华德','1985-12-18',2.10,120,'中锋'),
      ('姚明','1980-9-12',2.29,140,'中锋'),
      ('沙奎尔.奥尼尔','1972-3-6',2.15,147,'中锋')  
      
       UPDATE basketmember SET 位置='中锋' WHERE 编号=1
      
      DELETE FROM basketmember WHERE 编号=12

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃橘子的Crow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值