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

编程入门 行业动态 更新时间:2024-10-09 11:20:13

MySQL数据库复习常用SQL <a href=https://www.elefans.com/category/jswz/34/1770772.html style=语句相关"/>

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

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

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

  • SQL 语句相关
    • -- 创建数据库DBTEST
    • -- 查询用户表中的信息
    • -- 新建zhanghaoze用户
    • -- 查询'zhanghaoze'@'%'用户在数据库中的权限
    • -- 授予'zhanghaoze'@'%'用户对studentsdata数据库的所有操作权限
    • -- zhanghaoze用户创建 bank 表
    • -- 插入数据
    • # 事务的成功提交:模拟张三给李四转 500 元钱
    • -- 执行从张三账户扣出500元
    • -- 执行往李四账户加入500元
    • -- 查看账户
    • # 事务回滚:模拟李四给张三转 500 元钱失败
    • -- 执行往李四账户扣出500元
    • -- 执行往张三账户加入500元,但是加了650
    • -- 查看账户
    • -- 查询输出第6条~第10条出租房屋信息
    • -- 查询张三发布的所有出租房屋信息,并显示房屋分布的街道和区县
    • -- 数据导出操作
    • 总结


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.00balance 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;```
```sqlINSERT 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;
```sqlINSERT 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 hJOIN `hos_street`  AS s ON h.sid = s.sidJOIN `hos_district` AS  d ON s.sDid = d.didJOIN `sys_user` AS u ON h.uid = u.uid WHERE u.uName ='张三'; 

– 数据导出操作

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

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

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

总结

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

更多推荐

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

本文发布于:2024-02-14 14:13:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763773.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   常用   数据库   MySQL   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!