MySQL数据库基本操作及案例

Posted 爱河

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库基本操作及案例相关的知识,希望对你有一定的参考价值。

一、数据库

1.1数据库:持久化报存数据的软件系统,通过该系统可以创建数据库服务器

二、数据库分类

1.2(常规)数据库分类:关系型数据库、层次式数据库、网络式数据库

1.3流行的分类:关系型数据库和非关系型数据库

 

                                                关系型数据库:表格及表格之间的关系来描述存储数据

                                                非关系型数据库:

  1. 键值存储数据库Redis、Memcached
  2. 列存储数据库Cassandra
  3. 面向文档MongoDB

三、数据库

/*

                                                数据库的创建hzdldb

                                                mysql数据库不区分大小写

                                               

*/

-- CREATE DATABASE hzdldb;

 

-- 建表

/*

                                                3要素:表明、表字段名、每个字段的数据类型

*/

/*

                                                CREATE TABLE users(

                                                        id INTEGER not null,

                                                        uname VARCHAR(20) DEFAULT ‘张三‘ NOT null

                                                );

*/

-- 判断是否存在users,不存在就创建

-- 1.CREATE TABLE IF not EXISTS users(

-- 2.先删除后创建

DROP TABLE IF EXISTS users;

                                                CREATE TABLE users(

                                                id INTEGER not null,

                                                uname VARCHAR(20) DEFAULT ‘张三‘ NOT null,

                                                usex VARCHAR(6) DEFAULT ‘男‘ not null,

                                                uage INTEGER DEFAULT 18 not null,

                                                join_date datetime DEFAULT NOW()

                                               

);

-- 获取当前时间

-- SELECT NOW();

 

 

-- 添加语句(插入一条语句)

insert into users

VALUES(1,‘杰克‘,‘男‘,25,NOW());

insert into users

VALUES(2,‘龙杰克‘,‘男‘,35,NOW());

SELECT *from users

 

/*

                                                创建约束范围--constraint

                                                作用:限制表里(时间)的字段取值规划和范围

*/

drop TABLE IF EXISTS persons;

CREATE TABLE persons(

 id int not null, -- not null非空约束

 per_name VARCHAR(30) DEFAULT ‘某人‘ not null,

--  per_sex char(6) DEFAULT ‘男‘ not null,

 per_sex enum(‘男‘,‘女‘) DEFAULT ‘男‘ not null,

-- constraint chk_ss CHECK(per_sex=‘男‘ OR per_sex=‘女‘)-- INNODB默认mysql中不支持check约束,用enum解决

 UNIQUE(id),-- 唯一约束

 UNIQUE(per_name)-- 唯一约束

);

 

INSERT into persons VALUES(1000,DEFAULT,‘露‘);  -- 无法插入per_sex受enum约束

INSERT into persons VALUES(1001,‘小妹‘,‘女‘);

INSERT into persons VALUES(1003,‘小哥‘,‘男‘);

INSERT into persons VALUES(1002,DEFAULT,‘迷人‘);

 

--  查询persons全表

SELECT *from persons

 

/*

                                                为person表主键

*/

DROP TABLE IF EXISTS person;

CREATE TABLE person(

                                                id INTEGER PRIMARY key,

                                                uname VARCHAR(6) DEFAULT ‘大人‘ not null,

                                                uage INTEGER DEFAULT 18 not null

);

INSERT into person VALUES(3,DEFAULT,16);

SELECT * FROM person;

 

-- 案例:学生表和学生成绩表

drop TABLE IF exists students;

CREATE TABLE students(

-- auto_increment自动增长

                                                id INTEGER primary key auto_increment,

                                                stu_name varchar(20) not null,

                                                stu_pro VARCHAR(20) not null

 

);

 

-- 成绩表

drop TABLE IF exists scores;

CREATE TABLE scores(

-- auto_increment自动增长

                                                id INTEGER primary key auto_increment,

                                                score INTEGER DEFAULT 0 not null,

--  创建stu_id外键参考student主键       

                                                stu_id INTEGER not null,

                                                CONSTRAINT FK_stuid FOREIGN KEY(stu_id) REFERENCES students(id)

);

 

INSERT into students (stu_name,stu_pro)

VALUES(‘李四‘,‘英语‘);

 

insert into scores (score,stu_id)

VALUES(80,4);

 

SELECT * FROM students;

SELECT * FROM scores;

 

/**

                                                新建数据库hzdlshop

*/

 

CREATE DATABASE hzdlshop;

 

/*

                                                增删改查

*/

 

DROP TABLE IF EXISTS users;

                                                CREATE TABLE users(

                                                id INTEGER PRIMARY KEY auto_increment,

                                                uname VARCHAR(20) DEFAULT ‘张三‘ NOT null,

                                                upass char(6) not null,

                                                usex VARCHAR(6) DEFAULT ‘男‘ not null,

                                                uage INTEGER DEFAULT 18 not null,

                                                ubirth datetime DEFAULT NOW() not null,

                                                score INTEGER DEFAULT 100 not null

);

 

-- 创建商品表

drop TABLE if exists type;

CREATE TABLE type(

                                                id INTEGER PRIMARY KEY auto_increment,

                                                name VARCHAR(30) not null

);

 

-- 商品表

DROP TABLE IF EXISTS products;

CREATE TABLE products(

                                                pno INTEGER PRIMARY KEY auto_increment,

                                                pname VARCHAR(30) DEFAULT ‘糖果‘ not null,

                                                price DECIMAL(11,2) DEFAULT 0.00 not null,

                                                type_id INTEGER not null -- 参考商品类表文件

                                               

);

 

 

/**

                                                新建数据库hzdlshop

*/

 

-- CREATE DATABASE hzdlshop;

 

/*

                                                增删改查

*/

 

DROP TABLE IF EXISTS users;

                                                CREATE TABLE users(

                                                id INTEGER PRIMARY KEY auto_increment,

                                                uname VARCHAR(20) DEFAULT ‘张三‘ NOT null,

                                                upass char(6) not null,

                                                usex VARCHAR(6) DEFAULT ‘男‘ not null,

                                                uage INTEGER DEFAULT 18 not null,

                                                ubirth datetime DEFAULT NOW() not null,

                                                score INTEGER DEFAULT 100 not null

);

 

-- 创建商品表

drop TABLE if exists type;

CREATE TABLE type(

                                                id INTEGER PRIMARY KEY auto_increment,

                                                name VARCHAR(30) not null

);

 

-- 商品表

DROP TABLE IF EXISTS products;

CREATE TABLE products(

                                                pno INTEGER PRIMARY KEY auto_increment,

                                                pname VARCHAR(30) DEFAULT ‘糖果‘ not null,

                                                price DECIMAL(11,2) DEFAULT 0.00 not null,

                                                type_id INTEGER not null -- 参考商品类表文件

                                               

);

ALTER TABLE products

add CONSTRAINT FK_product_type FOREIGN KEY(type_id)  references type(id);

 

 

-- 录入测试

INSERT INTO users

VALUES(2,‘mary‘,‘123456‘,‘男‘,19,‘2008-12-19 12:00:12‘,300);

 

 

INSERT INTO users (usex,upass,uname,uage,ubirth,score)

VALUES(‘男‘,‘123456‘,‘王者荣涛‘,19,‘2008-12-19 12:00:12‘,300);

 

INSERT INTO users (usex,upass,uage,ubirth,score)

VALUES(‘男‘,‘123456‘,19,‘2008-12-19 12:00:12‘,300);

 

 

 

-- 录入服装类型

INSERT into type (name)

VALUES(‘食品‘);

INSERT into type (name)

VALUES(‘饮料‘);

INSERT into type (name)

VALUES(‘coffee‘);

INSERT into type (name)

VALUES(‘衣服‘);

INSERT into type (name)

VALUES(‘鞋‘);

 

INSERT into type (name)

VALUES(‘比基尼‘);

 

INSERT into type (name)

VALUES(‘生活用品‘);

 

-- 插入产品

INSERT into products(pname,price,type_id)

VALUES (‘方便米娜‘,300.1,3);

INSERT into products(pname,price,type_id)

VALUES (‘tuoba‘,300.1,3);

INSERT into products(pname,price,type_id)

VALUES (‘垃圾桶‘,300.1,3);

 

-- 删除表

DELETE from users;

SELECT * from users;

DELETE from users WHERE id>=15;

 

 

-- 同配符删除

 DELETE from users;

 

-- 同配符删除,指定删除

DELETE from users

WHERE DATE_FORMAT(ubirth,‘%Y‘)=2008 AND usex=‘男‘;

 

 

-- 查询表

SELECT * from type;

 

 

-- 同配符按日期查询

SELECT DATE_FORMAT(ubirth,‘%Y‘) from users;

-- 同配符按日期指定查询

SELECT DATE_FORMAT(ubirth,‘%Y‘) from users

WHERE DATE_FORMAT(ubirth,‘%Y‘)=2008 AND usex=‘男‘;

 

以上是关于MySQL数据库基本操作及案例的主要内容,如果未能解决你的问题,请参考以下文章

MySQL UNION 操作符:语法及案例剖析

MySQL高级:以实际案例掌握事务操作

MySQL 查询数据:语法及案例剖析

VBA连接MYSQL数据库方法及案例

MySQL 系列 生产标准线上环境安装配置案例及棘手问题解决

第6章WEB06- MySQL篇