`
nicegege
  • 浏览: 589372 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql语句--MySql添加表数据

 
阅读更多

1.数据库有三个表,分别是bd_park(停车场)、bd_closed_park封闭停车场详细表,bd_park_user(停车管理员用户表)。

现在bd_park表有近1000条数据库,在bd_closed_park和bd_park_user中添加对应的数据。

SELECT * FROM bd_park_user;
SELECT * FROM bd_closed_park;

INSERT INTO bd_closed_park (close_park_id,park_id)  SELECT UUID(),park_id FROM bd_park WHERE park_id NOT IN (SELECT park_id FROM bd_closed_park  )

SELECT * FROM bd_park;


INSERT INTO bd_park_user (park_user_id,park_id,closed_park_id,username,PASSWORD,create_date) SELECT UUID(),A.PARK_ID,A.CLOSE_PARK_ID,REPLACE(getPY(REPLACE(REPLACE(park_name,'(',''),')','')),' ',''),'e6f1f68ae88ae1cf786832117b05f19f',NOW()
FROM (
SELECT cp.park_id,cp.close_park_id,p.park_name FROM bd_closed_park cp,bd_park p WHERE p.park_id NOT IN (SELECT c.PARK_ID  FROM bd_park_user u, bd_closed_park c WHERE c.park_id=u.park_id AND u.park_id IS NOT NULL ) 
AND cp.park_id=p.park_id 
) A

COMMIT;

SELECT park.* FROM bd_park park,bd_park_user u WHERE 

SELECT park.park_name,u.username,REPLACE(u.password,'e6f1f68ae88ae1cf786832117b05f19f','123456') FROM bd_park park  LEFT JOIN bd_park_user u ON park.park_id=u.park_id 

REPLACE(getPY(REPLACE(REPLACE(REPLACE(p.park_name,'、',''),'(',''),')','')),' ','')

SELECT u.*,p.park_name,REPLACE(getPY(REPLACE(REPLACE(REPLACE(p.park_name,'、',''),'(',''),')','')),' ','') FROM bd_park_user u LEFT JOIN bd_park p ON u.park_id=p.park_id WHERE  u.username IS NULL;

SELECT u.*,p.park_name,getPY(REPLACE(p.park_name,' ','')) FROM bd_park_user u LEFT JOIN bd_park p ON u.park_id=p.park_id WHERE  u.username IS NULL;


SELECT * FROM bd_closed_park WHERE park_id NOT IN (SELECT park_id FROM bd_park_user WHERE park_id IS NOT NULL);

SELECT cp.park_id,cp.close_park_id,p.park_name FROM bd_closed_park cp,bd_park p WHERE p.park_id NOT IN (SELECT c.PARK_ID  FROM bd_park_user u, bd_closed_park c WHERE c.park_id=u.park_id) 
AND cp.park_id=p.park_id 

SELECT c.park_id  FROM bd_park_user u, bd_closed_park c WHERE c.park_id=u.park_id;

SELECT UUID(),park_id FROM bd_closed_park WHERE park_id NOT IN (SELECT park_id FROM bd_park_user )

SELECT * FROM bd_closed_park WHERE park_id ='0e0da2fa-723d-11e5-9fe3-44a8422565ee';


SELECT * FROM bd_park WHERE park_id='1869fcd1_8755_11e5_800e_822ace0c0095';
SELECT getPY('弘彧大厦停车场') FROM DUAL;

SELECT REPLACE(REPLACE('南新华街停车场(路外)','(',''),')','') FROM DUAL;



SELECT park.park_name,u.username,REPLACE(u.password,'e6f1f68ae88ae1cf786832117b05f19f','123456') FROM bd_park park  LEFT JOIN bd_park_user u ON park.park_id=u.park_id 

SELECT COUNT(A.username) c,A.username FROM bd_park_user A GROUP BY  username HAVING c=1

SELECT * FROM bd_park_user WHERE username='南三环东路25号停车场';
 SELECT * FROM bd_park_user WHERE username IN( SELECT B.username FROM ( SELECT COUNT(A.username) c,A.username FROM bd_park_user A GROUP BY  username HAVING c>1 )B)

 

DELIMITER ;; 
CREATE FUNCTION `getPY`(in_string VARCHAR(21845)) RETURNS MEDIUMTEXT CHARSET utf8 
BEGIN
DECLARE tmp_str VARCHAR(21845) CHARSET gbk DEFAULT '' ; #截取字符串,每次做截取后的字符串存放在该变量中,初始为函数参数in_string值 
DECLARE tmp_len SMALLINT DEFAULT 0;#tmp_str的长度 
DECLARE tmp_char VARCHAR(2) CHARSET gbk DEFAULT '';#截取字符,每次 left(tmp_str,1) 返回值存放在该变量中 
DECLARE tmp_rs VARCHAR(21845) CHARSET gbk DEFAULT '';#结果字符串 
DECLARE tmp_cc VARCHAR(2) CHARSET gbk DEFAULT '';#拼音字符,存放单个汉字对应的拼音首字符 
SET tmp_str = in_string;#初始化,将in_string赋给tmp_str 
SET tmp_len = LENGTH(tmp_str);#初始化长度 
WHILE tmp_len > 0 DO #如果被计算的tmp_str长度大于0则进入该while 
SET tmp_char = LEFT(tmp_str,1);#获取tmp_str最左端的首个字符,注意这里是获取首个字符,该字符可能是汉字,也可能不是。 
SET tmp_cc = tmp_char;#左端首个字符赋值给拼音字符 
IF LENGTH(tmp_char)>1 THEN#判断左端首个字符是多字节还是单字节字符,要是多字节则认为是汉字且作以下拼音获取,要是单字节则不处理。 
SELECT ELT(INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC 
,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA ,0xCEF4,0xD1B9,0xD4D1), 
'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z') INTO tmp_cc; #获得汉字拼音首字符 
END IF; 
SET tmp_rs = CONCAT(tmp_rs,tmp_cc);#将当前tmp_str左端首个字符拼音首字符与返回字符串拼接 
SET tmp_str = SUBSTRING(tmp_str,2);#将tmp_str左端首字符去除 
SET tmp_len = LENGTH(tmp_str);#计算当前字符串长度 
END WHILE; 
RETURN tmp_rs;#返回结果字符串 
END;; 

 总结:生成数据成功,但是有缺点。在bd_park_user表中username是唯一的,但是已经存在重复的。因为停车场名称的首字母组成的字符串有可能是一样的。添加数据库的sql中没有做唯一校验。

分享到:
评论

相关推荐

    使用flink-connector-sqlserver-cdc 2.3.0把数据从SQL Server实时同步到MySQL中

    在SQL语句中,指定源表和目标表的结构,并设置CDC的相关参数。 - 示例代码可能如下: ```java StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); ...

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    PB 从SQL语句获取数据存储(MySQL)

    标题 "PB 从SQL语句获取数据存储(MySQL)" 指的是使用PowerBuilder (PB) 开发工具,通过SQL语句从MySQL数据库中检索和处理数据存储的过程。在这个Demo中,PB11.5 版本被用作开发环境,而MySQL作为后台数据库系统。...

    SQL语句-常用的sql语句生成器.zip

    在这个“SQL语句-常用的sql语句生成器.zip”压缩包中,很可能包含了一个工具或一系列资源,旨在帮助用户快速生成常见的SQL语句,从而简化数据库操作。 1. **SQL基础概念**: - **SELECT语句**:用于从数据库中检索...

    SQL 语句-- 语法{全集}

    在“SQL语句--语法{全集}”中,你将全面学习到SQL的基础和高级语法,包括但不限于以下知识点: 1. 数据库连接(Database Connection):了解如何使用各种数据库管理系统(如MySQL、Oracle、SQL Server等)进行连接...

    MySQL自动生成数据字典SQL语句

    自己写的两个SQL语句生成对应数据库的数据字典,一个生成表集合,一个生成字段集合 只需修改where语句后面的TABLE_SCHEMA的数据库名即可

    Linux运维-运维课程d2-MySQL基本SQL语句(上)-10-删除数据表.mp4

    Linux运维-运维课程d2-MySQL基本SQL语句(上)-10-删除数据表.mp4

    mysql-connector-java-8.0.11

    - 将`mysql-connector-java-8.0.11.jar`添加到项目的类路径中,可以是IDE的库依赖,或者在命令行运行时通过`-cp`选项指定。 - 使用`Class.forName("com.mysql.cj.jdbc.Driver")`加载驱动。 - 通过`DriverManager....

    mysql-全国五级省市县镇村sql语句

    mysql-全国五级省市县镇村sql语句,直接在mysql数据库中执行sql语句即可。

    SQL-Font以及MySQL-Font注册机

    一旦连接成功,SQL-Font和MySQL-Font将允许你轻松地进行数据库查询、创建新表、修改现有数据,甚至进行复杂的数据库设计工作。 在数据库管理领域,熟悉SQL语句是必不可少的。SQL(结构化查询语言)用于创建、查询、...

    通过解析sql语句获取表血缘关系项目

    "通过解析SQL语句获取表血缘关系项目"是一个针对数据库管理的实用技术,主要用于理解和跟踪数据的来源与流向,即血缘关系。血缘关系追踪在数据质量、合规性、审计和数据治理中扮演着关键角色。以下是关于这个主题的...

    mysql转化成sql server sql转化成mysql工具

    2. 转换规则应用:根据SQL Server的语法特性,工具会将MySQL的SQL语句转化为相应的SQL Server语法。 3. 数据导出:将MySQL中的数据导出为SQL脚本,或者直接导入到SQL Server中。 4. 验证与调整:迁移后,需要验证...

    Effective MySQL之SQL语句最优化.pdf

    4. SQL语句优化相关原理:优化原理包括但不限于查询语句的分析、索引的使用、表结构的合理设计、数据的存储方式、事务的管理、锁机制等。 5. 查询语句的分析:分析SQL语句是为了找出可能影响性能的部分,如慢查询。...

    Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql

    标题提到的"‘Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql’"是一个处理这种转换的工具或过程。 首先,让我们理解这个过程的一般步骤: 1. **数据迁移需求分析**:在开始转换之前,了解源MySQL表的结构...

    SQL语句-ALTER FUNCTION和ALTER INSTANCE​.pdf

    ### SQL语句详解:ALTER FUNCTION 和 ALTER INSTANCE #### 一、ALTER FUNCTION 语句 **ALTER FUNCTION** 语句在 SQL 中主要用于修改已存在的函数。然而,并非所有的数据库管理系统(DBMS)都直接支持该语句。不同...

    SQL语句语法

    本篇文章将深入探讨SQL语句的基本语法,包括数据定义、数据操作、实用工具、事务处理和锁定、数据库管理、复制语句以及预处理语句等关键概念。 13.1 数据定义语句: 数据定义语句主要用于创建、修改和删除数据库...

    省市区字典sql-mysql-sqlserver.zip

    标题 "省市区字典sql-mysql-sqlserver.zip" 暗示了这是一个关于数据库管理系统的资源包,其中包含了适用于MySQL和SQL Server两种数据库的SQL语句,主要用于实现省市区的三级联动功能。这种功能常见于地理信息系统的...

    全国省市区数据SQL - 省市区-自联表-2018-最新-省市区最新编码-全国省市区mysql数据库(单表)-省市区数据库

    全国省市区数据SQL,省市区,自联表,2018最新省市区,最新编码,全国省市区mysql数据库(单表),省市区数据库

    Linux运维-运维课程d2-MySQL基本SQL语句(上)-01-客户端工具mysql使用.mp4

    Linux运维-运维课程d2-MySQL基本SQL语句(上)-01-客户端工具mysql使用.mp4

    SQL-Front_Setup MySql

    对于表,你可以添加、删除字段,更改字段类型,设置索引,甚至执行复杂的表结构调整,如拆分、合并表。同时,SQL-Front还支持对视图的创建和管理,使用户能够方便地查看和操作数据的特定视图。 在查询编写和执行...

Global site tag (gtag.js) - Google Analytics