首页 > 代码库 > 数据库基础

数据库基础

1.数据库概述

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

2.表数据

根据表字段所规定的数据类型,我们可以向其中填入一条条的数据,而表中的每条数据类似类的实例对象。表中的一行一行的信息我们称之为记录。

3.Mysql启动与登录 

MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。

4.SQL语句

  

l  SQL分类:

n  数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

n  数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等

n  数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。

n  数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

 

5.通用语法

  

l  SQL语句可以单行或多行书写,以分号结尾

l  可使用空格和缩进来增强语句的可读性

l  MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

n  例如:SELECT * FROM user。

l  同样可以使用/**/的方式完成注释

 

6.数据类型

分类

类型名称

说明

整数类型

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

7.数据库操作

创建数据库:

格式:

    * create database 数据库名;

    * create database 数据库名 character set 字符集;

查看数据库

  show databases;

查看某个数据库定义的信息

  show create database 数据库名

删除数据库

  drop database 数据库名称

例如:

  

###数据库操作

# 创建数据库 (默认字符集: UTF-8 , 此编码为安装时设置)

CREATE DATABASE data_1;

CREATE DATABASE data_2 CHARACTER SET gbk;

 

#显示所有数据

SHOW DATABASE;

 

#显示数据库的创建语句

SHOW CREATE DATABASE data_1;

SHOW CREATE DATABASE data_2;

 

#删除数据库

DROP DATABASE data_2;

8.表结构操作

  

create table 表名(

   字段名 类型(长度) [约束],

   字段名 类型(长度) [约束],

   ...

);

类型:

       varchar(n)       字符串

       int                 整形

       double           浮点

       date       时间

       timestamp     时间戳

约束:

       primary key    主键,被主键修饰字段中的数据,不能重复、不能为null。

查看所有表

  show tables

查看表结构

  desc 表名

删除表

  drop table 表名

修改表结构样式

  alter table 表名 add 列名 类型(长度) [约束]

例如:

CREATE TABLE category(

  cid VARCHAR(20) PRIMARY KEY ,

  cname VARCHAR(50)

);

## 没有主键

CREATE TABLE category2(

  cid VARCHAR(20),

  cname VARCHAR(50)

);

## 创建表之后,可以查询创建表语句 (数据在可视化视图中显示不全)

SHOW CREATE TABLE category;

 

#删除表

DROP TABLE category2;

 

#修改表结构 -- 如果SQL语句中使用到关键字,建议使用重音符括住 `

##添加字段

ALTER TABLE category ADD `desc` VARCHAR(50);

##修改字段类型

ALTER TABLE category MODIFY `desc` VARCHAR(100);

##修改整个字段

ALTER TABLE category CHANGE `desc` description VARCHAR(100);

##删除字段

ALTER TABLE category DROP description;

##修改表名

RENAME TABLE category TO category2;

##修改字符串

ALTER TABLE category2 CHARACTER SET GBK;

9.DML数据库操作语言

  插入表记录

-- 向表中插入某些字段

insert into 表 (字段1,字段2,字段3..) values  (值1,值2,值3..);

--向表中插入所有字段,字段的顺序为创建表时的顺序

insert into 表 values (值1,值2,值3..);

注意:

n  值与字段必须对应,个数相同,类型相同

n  值得数据大小必须在字段的长度范围内

n  除了数值类型外,其它的字段类型的值必须使用引号引起。(建议单引号)

如果要插入空值,可以不写字段,或者插入 null。     

例如:

#插入数据

INSERT INTO category (cid,cname) VALUES(‘c001‘,‘服装‘);         #相同的语句不能执行2次,主键重复。

INSERT INTO category (cid,cname) VALUES(‘c002‘,‘奢侈品‘);

INSERT INTO category (cid,cname) VALUES(‘c003‘,‘汽车‘);

 

#插入部分数据

INSERT INTO category (cid) VALUES(‘c004‘);

INSERT INTO category (cname) VALUES(‘测试‘);  #如果cid为主键,默认值为空字符串,不能为null

 

INSERT INTO category2 (cid,cname) VALUES(‘c001‘,‘服装‘);       #如果没有主键约束,数据可以录入多条

10.更新表记录

  

update 表名 set 字段名=值,字段名=值,...;

--更新符号条件记录的指定字段

update 表名 set 字段名=值,字段名=值,... where 条件;

删除记录

  

delete from 表名 [where 条件];

或者

truncate table 表名;

注意:

删除方式:delete 一条一条删除,不清空auto_increment记录数。

truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。

 

数据库基础