MySQL数据库复习常用SQL 语句相关

每天都是一个新的开始,不要让昨天的过错和遗憾影响你的未来。


SQL 语句相关

– 创建数据库DBTEST

CREATE DATABASE DBTEST CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

– 查询用户表中的信息

USE mysql
SELECT USER, HOST, PLUGIN, authentication_string FROM USER;

– 新建zhanghaoze用户

CREATE USER 'zhanghaoze'@'%' IDENTIFIED BY '123456';

– 查询’zhanghaoze’@'%'用户在数据库中的权限

SHOW GRANTS FOR 'zhanghaoze'@'%';

– 授予’zhanghaoze’@'%'用户对studentsdata数据库的所有操作权限

GRANT ALL ON studentsdata.* TO 'zhanghaoze'@'%';

– zhanghaoze用户创建 bank 表

CREATE TABLE bank (

  -- ID 字段,自增的整数值

  id INT(11) NOT NULL AUTO_INCREMENT,

  -- 账户号字段,长度为 20 的字符串,不允许为空

  account_number VARCHAR(20) NOT NULL,

  -- 账户名字段,长度为 50 的字符串,不允许为空

  account_name VARCHAR(50) NOT NULL,

  -- 余额字段,数字类型,长度为 10,小数点后保留 2 位(即精度为 2),默认值为 0.00

  balance DECIMAL(10, 2) DEFAULT 0.00,

  -- 设置 ID 为主键

  PRIMARY KEY (id),

  -- 设置 账户号 为唯一索引

  UNIQUE KEY (account_number)

) ENGINE=INNODB DEFAULT CHARSET=utf8;

– 插入数据

INSERT INTO bank (account_number, account_name, balance)

VALUES ('1234567890', '张三', 1000),

       ('2345678901', '李四', 500),

       ('3456789012', 'Charlie', 250),

       ('4567890123', 'David', 100),

       ('5678901234', 'Emma', 2000),

       ('6789012345', 'Frank', 1500),

       ('7890123456', 'Grace', 800),

       ('8901234567', 'Henry', 350),

       ('9012345678', 'Isabella', 900),

       ('0123456789', 'John', 1200);

# 事务的成功提交:模拟张三给李四转 500 元钱

SELECT * FROM bank;
START TRANSACTION;  #开启事务 

– 执行从张三账户扣出500元

UPDATE bank SET balance=balance-1000 WHERE account_name='张三';

– 执行往李四账户加入500元

UPDATE bank SET balance=balance+1000 WHERE account_name='李四';

COMMIT; 

– 查看账户

SELECT * FROM bank;

# 事务回滚:模拟李四给张三转 500 元钱失败

START TRANSACTION;

– 执行往李四账户扣出500元

UPDATE bank SET balance=balance-500 WHERE account_name='李四';

– 执行往张三账户加入500元,但是加了650

UPDATE bank SET balance=balance+650 WHERE account_name='张三';
ROLLBACK;

– 查看账户

SELECT * FROM bank;
    CREATE TABLE sys_user(
    uid INT(6) PRIMARY KEY AUTO_INCREMENT COMMENT'客户编号,PK',
    uName VARCHAR(200)NOT NULL COMMENT'客户姓名',
    uPassWord INT NOT NULL COMMENT'客户密码')
    ENGINE=INNODB DEFAULT CHARSET=utf8;
    INSERT INTO sys_user (uName, uPassWord) VALUES ('John Doe', '12345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Jane Smith', '12345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Bob Johnson', '12345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Alice Brown', '212345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Charlie Green', '212345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('David Lee', '212345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Emily Davis', '123456780');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Frank Wilson', '2123456780');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Grace Taylor', '212345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Henry Martin', '212345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('John Doe', '202123456780');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Jane Smith', '2012345678');
    INSERT INTO sys_user (uName, uPassWord) VALUES ('Bob Johnson', '202123456780');
    UPDATE sys_user SET uName='张三', uPassWord='212345678' WHERE uid=5;
  CREATE TABLE hos_district(
  did INT(6) PRIMARY KEY COMMENT'区县编号,PK',
  dName VARCHAR(200) NOT NULL COMMENT'区县名称')
  ENGINE=INNODB DEFAULT CHARSET=utf8;
  ```
```sql
  INSERT INTO hos_district(did, dName)
  VALUES
  (1, '北京市海淀区'),
  (2, '北京市朝阳区'),
  (3, '北京市东城区'),
  (4, '北京市西城区'),
  (5, '北京市丰台区'),
  (6, '北京市石景山区'),
  (7, '北京市门头沟区'),
  (8, '北京市房山区'),
  (9, '北京市通州区'),
  (10, '北京市顺义区'),
  (11, '北京市昌平区'),
  (12, '北京市大兴区'),
  (13, '北京市怀柔区'),
  (14, '北京市平谷区'),
  (15, '北京市密云区'),
  (16, '北京市延庆区')
    CREATE TABLE hos_street(
    sid INT(6) PRIMARY KEY AUTO_INCREMENT COMMENT'街道编号,PK',
    sName VARCHAR(200) NOT NULL COMMENT'街道名称',
    sDid INT(6) NOT	NULL COMMENT'区县编号',
    FOREIGN KEY (sDid) REFERENCES hos_district(did)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    INSERT INTO hos_street(sid, sName, sDid)
    VALUES
    (1, '街道1', 1),
    (2, '街道2', 2),
    (3, '街道3', 3),
    (4, '街道4', 4),
    (5, '街道5', 5),
    (6, '街道6', 6),
    (7, '街道7', 7),
    (8, '街道8', 8),
    (9, '街道9', 9),
    (10, '街道10', 10),
    (11, '街道11', 11),
    (12, '街道12', 12),
    (13, '街道13', 13),
    (14, '街道14', 14),
    (15, '街道15', 15),
    (16, '街道16', 16);
    CREATE TABLE hos_type(
    hTid INT(6) PRIMARY KEY AUTO_INCREMENT COMMENT'房屋类型编号,PK',
    htName VARCHAR(200) NOT NULL COMMENT'房屋类型名称'
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    INSERT INTO hos_type(htName) VALUE ('廉租房'),('公租房'),('商品房'),('安置房'),('小产权房'),('房改房'),('集资房'),('经济适用房'),('平房子'),('大房子')
    CREATE TABLE hos_house(
    hMid INT(6) PRIMARY KEY AUTO_INCREMENT COMMENT'出租房编号,PK',
    uid INT(6) NOT NULL COMMENT'客户编号',
    sid INT(6) NOT NULL COMMENT'街道编号',
    hTid INT(6) NOT NULL COMMENT'房屋类型编号',
    price DECIMAL(50) NOT NULL COMMENT'每月租金',
    topic VARCHAR(200) NOT NULL COMMENT'标题',
    contents VARCHAR(200) NOT NULL COMMENT'描述',
    FOREIGN KEY (uid) REFERENCES sys_user(uid),
    FOREIGN KEY (sid) REFERENCES hos_street(sid),
    FOREIGN KEY (hTid) REFERENCES hos_type(hTid)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
```sql
    INSERT INTO hos_house(uid, sid, hTid, price, topic, contents) VALUES
    (1, 1, 1, 2000, '精装修一室一厅', '南北通透,采光好'),
    (2, 2, 2, 2500, '两室一厅带阳台', '近地铁,交通方便'),
    (3, 3, 3, 1800, '单间出租', '家具齐全,拎包入住'),
    (4, 4, 4, 3000, '三室两厅豪华装修', '小区环境优美,安静舒适'),
    (5, 5, 5, 2200, '精装修一室一厅', '近商圈,生活便利'),
    (6, 6, 6, 2800, '两室一厅带阳台', '近公园,空气清新'),
    (7, 7, 7, 1900, '单间出租', '交通便利,周边设施齐全'),
    (8, 8, 8, 3200, '三室两厅豪华装修', '小区绿化好,安全有保障'),
    (9, 9, 9, 2400, '精装修一室一厅', '近地铁,交通方便'),
    (10, 10, 10, 2600, '两室一厅带阳台', '近商圈,生活便利');

– 查询输出第6条~第10条出租房屋信息

    SELECT * FROM hos_house LIMIT 5,5;

– 查询张三发布的所有出租房屋信息,并显示房屋分布的街道和区县

   SELECT u.`uName`, h.`topic`, h.`contents`, s.`sName`, d.`dName`
   FROM `hos_house`  AS h
   JOIN `hos_street`  AS s ON h.sid = s.sid
   JOIN `hos_district` AS  d ON s.sDid = d.did
   JOIN `sys_user` AS u ON h.uid = u.uid 
   WHERE u.uName ='张三'; 

– 数据导出操作

  1. 选中数据库,单击右键点击备份/导出

image

2.点击备份数据库转储到

image

  1. 选择指定路径点击导出即可

image

总结

本文介绍了如何使用SQL语言创建和操作不同的数据表。首先,使用USE语句选择要使用的数据库,例如使用名为myschool的数据库。然后,使用CREATE TABLE语句创建各种表格,如学生表、课程表、成绩表和年级表。每个表格都包含了不同的列和数据类型,并设置了一些约束条件。文章还给出了每个表格的具体创建语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CSDN(中国软件开发网)是一个技术交流平台,其中涵盖了各种领域的技术内容,包括数据库数据库复习是指回顾和巩固数据库相关知识和技能。 数据库是存储、管理和组织数据的一种数据结构。在软件开发中,数据库起到储存数据的作用,同时也提供了数据操作、查询和管理的功能。因此,深入理解数据库的原理和技术对于开发人员来说非常重要。 数据库复习的内容可以包括以下几个方面: 1. 数据库基础知识:了解数据库的概念、特点、分类和常用数据库系统,如关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。 2. SQL语言:掌握SQL语言的基本语法、查询、更新、删除和插入数据的操作,熟悉常用SQL函数和操作符,能够编写复杂的SQL查询语句和数据操作语句。 3. 数据库设计:了解数据库设计的基本原则和范式,能够进行数据库的逻辑设计和物理设计,并能评估和调整数据库的性能。 4. 数据库索引和优化:理解数据库索引的原理和类型,了解索引的创建、使用和优化策略,能够通过合理的索引设计和优化来提升数据库的查询性能。 5. 数据库事务和并发控制:掌握数据库事务的概念和特性,理解并发访问引起的数据一致性问题,学会应对并发访问的技巧和控制策略。 6. 数据库备份和恢复:了解数据库备份和恢复的重要性,掌握常用数据库备份和恢复方法和工具,能够制定和执行数据库的备份和恢复策略。 7. 数据库安全性:熟悉数据库的安全性问题和常见的安全攻击,能够使用数据库的安全机制和技术来防护和保护数据的安全。 通过对CSDN中数据库相关文章的阅读、学习和实践,可以加深对数据库的理解和掌握,提高数据库的设计和开发能力。此外,还可以通过访问CSDN的论坛和社区,与其他开发者交流和分享经验,进一步提升自己的技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

清醒云思

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

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

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

打赏作者

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

抵扣说明:

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

余额充值